如下demo片段,特別簡單的問題,全局變量TEST_ENV通過獲取環(huán)境變量testgo初始化,那么當環(huán)境變量testgo的值變化時會不會影響TEST_ENV?
代碼語法上看,肯定不會變,但是不放心,寫以下demo測試,結論:肯定不會變啦
package main
import (
"fmt"
"os"
"strconv"
"time"
)
var TEST_ENV = os.Getenv("testgo")
//func init() {
// os.Setenv("testgo", "test")
// TEST_ENV = os.Getenv("testgo")
//}
func main() {
fmt.Println("----------")
for i := 0; i < 3; i++ {
fmt.Println(TEST_ENV)
fmt.Println(os.Getenv("testgo"))
time.Sleep(600)
fmt.Println("----------")
os.Setenv("testgo", "test"+strconv.Itoa(i))
}
}
執(zhí)行結果:
----------
----------
test0
----------
test1
----------
初始testgo的值為空,即使賦值后,也不影響TEST_ENV的值,TEST_ENV一直為空