根据操作系统程序自动选择不同常量
@
1. 操作
- 需求:根据操作系统,程序自动选择不同常量的值。
- 操作:
- 创建
const__windows_amd64.go
文件, 写windows系统要读取的内容 - 创建
const_linux.go
文件,写linux系统要读取的内容
- 创建
2. 示例
需求:
开发环境是windows,生产环境是linux。程序用到的一些文件的位置因系统不同而不同。我们用常量定义这些位置,让程序自动根据所在服务器操作系统来选择常量值。
2.1 定义常量
- 在程序中创建
config
包,包中包含如下两个文件: - 创建
const__windows_amd64.go
文件,内容如下
package config
const (
IdRSAFilePath = "D:\\work-space\\go\\src\\crow-logger\\config\\id_rsa"
LogDirTemp = "D:\\work-space\\go\\src\\crow-logger\\down"
)
- 创建
const_linux.go
文件,内容如下:
package config
const (
IdRSAFilePath = "/etc/crow/id_rsa"
LogDirTemp = "/down"
)
2.2 引用
fmt.Printf("IdRSAFilePath 的值是:%s", config.IdRSAFilePath)
- 结果
IdRSAFilePath 的值是:D:\work-space\go\src\crow-logger\config\id_rsaD:\work-space\go\src\crow-logger\config\id_rsa
我的环境是windows,和前边
const__windows_amd64.go
文件中定义的一样。