go基礎庫之環境變數的獲取與設定以及如何使用預設值

2021-10-07 14:47:52 字數 1673 閱讀 3341

golang 基礎庫之 go 獲取命令列引數,介紹了環境變數的獲取與設定以及如何使用預設值

1.12.1

環境變數作為配置選項可以顯著簡化應用的部署,並且這些在雲基礎架構中也是很常見的。

通常,本地和自動構建環境的 資料庫 連線配置是不同的。

如果配置由環境變數定義,則無需更改應用的配置檔案或者程式**。如果環境變數沒有設定,則預設配置也是可以使用的。這樣對於開發人員就容易多了。

建立get.go檔案,**如下:

package main

import (

"log"

"os"

)func main()

執行命令export db_conn=db:/user@example && go run get.go

$ export  db_conn=db:/user@example && go run get.go 

2019/05/18 21:33:39 連線:db:/user@example

建立lookup.go檔案,**如下:

package main

import (

"fmt"

"log"

"os"

)func main()

fmt.println(connstr)

}

執行命令unset db_conn && go run lookup.go

$ unset db_conn && go run lookup.go 

2019/05/18 21:39:33 環境變數 db_conn 沒有設定

建立main.go檔案,**如下:

package main

import (

"log"

"os"

)func main()

func getenvdefault(key, defval string) string

return val

}

執行命令go run main.go

$ go run main.go                                           

2019/05/18 21:42:58 值是 :postgres:

2019/05/18 21:42:58 預設值是 :postgres:

環境變數的獲取和設定分別可以通過os包中getenvsetenv方法實現。方法名稱已經很明確說明了自身的功能。

getenv方法有個缺點,即使在未設定環境變數的情況下,它也返回乙個空的字串。

os包中還有乙個很有用的方法,lookupenv,該方法返回兩個值,乙個是變數的值,另乙個則是變數在環境中是否設定的布林值。而lookupenv方法則可以克服上面getenv的缺點。

當我們要判斷是否設定了環境變數以及實現乙個預設環境變數的方法,都應該使用lookupenv。因為如果未設定環境變數,則第二個值會返回false

Go環境變數和基礎命令

go語言中有一些重要的環境變數,包括 goroot gopath gobin 還有一些基礎命令也非常重要 go run go build go install windows系統中,可以不配置環境變數,有乙個預設配置 goroot go安裝目錄 gopath go工作目錄 gobin go可執行檔案...

Go學習筆記之環境變數的配置

goroot存放的是go語言安裝的路徑 博主本人安裝在d盤下 則goroot的路徑設定為 gopath是設定工作路徑,go會查詢這個路徑下的檔案,gopath可以設定多個路徑,go會依次從前到後按順序查詢 go projects的目錄結構如下 bin目錄存放可執行檔案,通過命令列 go build ...

Shell eval通過變數獲取環境變數的方法實現

環境中已存在環境變數 user env name user echo bad substitution 很顯然,直接使用 巢狀來獲取值是行不通的 環境中已存在環境變數 user env name user eval echo env name icebergu eval 先將對引數進行變數的替換,然...