new-api 代码学习
new-api:新一代大模型网关与AI资产管理系统.
程序入口
程序入口:main.go
embed 指令
//go:embed web/dist
var buildFS embed.FS
embed.FS 是一个文件系统,用来嵌入整个目录。
这段代码表示将当前目录下的 web/dist
目录及其所有内容嵌入最终二进制文件。
//go:embed web/dist/index.html
var indexPage []byte
这里直接嵌入单个 HTML 文件到字节切片中, 适合快速访问单个文件,比如作为模板加载或者直接返回给客户端。
读取配置文件
err := godotenv.Load(".env")
if err != nil {
common.SysLog("Support for .env file is disabled")
}
godotenv.Load(".env")
用于加载 .env
文件,将配置读取到环境变量中(通过 os.Getenv("xxx")
来获取)。
命令行参数读取
common/init.go
使用到的包。 flag
、log
、os
、path/filepath
.
- flag 用于解析命令行参数。
- log 记录日志
- os 读取环境变量和读取文件
- path/filepath 跨平台文件路径处理
flag 解析命令行参数
flag.Int
、flag.String
、flag.Bool
返回值是一个指针类型