从0到1制作一个go语言服务器 (一) 配置
配置
我们在做一个项目的时候肯定会有各种各样的配置 比如说port ip等等
在写代码的时候肯定不可能把这些配置写死 不然后面迁移机器的时候想改个数据还得改代码
所以说我们会有专门的配置文件和读取配置文件来进行这些操作
我们这个项目使用的是 goconfig
它的用法也十分的简单
我们首先要创建一个 config.ini
文件 里面的配置格式类似这么写
[login_server]
host = 127.0.0.1
port = 8003
其中 [login_server]
是一个session 我们读取value的时候就是读取每个 session下的value 比如说后面还可能有 [web_server]
的ip和port等
配置读取
我们需要创建创建一个新的config.go文件来读取所有的配置文件
读取配置的代码都是固定的 可以在github上看看 也可以直接复制下面的代码去试验
package configimport ("fmt""os""github.com/Unknwon/goconfig"
)const strFilename = "/conf/conf.ini"var File *goconfig.ConfigFilefunc init() {var err errorstrCurrentDir, err := os.Getwd()if err != nil {panic(err)}// 获取命令行的第二个参数if len(os.Args) > 1 {strCurrentDir = os.Args[1]}strFilePath := strCurrentDir + strFilenameFile, err = goconfig.LoadConfigFile(strFilePath)if err != nil {panic(err)}}
最终我们会有一个main文件
package mainimport ("STZB/config""fmt"
)func main() {host := config.File.MustValue("login_server", "host", "127.0.0.1")port := config.File.MustValue("login_server", "port", "8003")fmt.Println("host: ", host)fmt.Println("port: ", port)
}
能够读取出上面的数据就是成功了