在閱讀k8s**的過程中,經常可以看到下劃線出現在不同的地方,有時候我們並不清楚下劃線代表的具體含義是什麼,有什麼作用,但是又會經常選擇性的忽略這些細節,實際上卻非常重要。
下面我來總結一下下劃線(_)出現的三種場合
這個應該是最簡單的用途,比如某個函式返回三個引數,但是我們只需要其中的兩個,另外乙個引數可以忽略,這樣的話**可以這樣寫:
v1, v2, _ := function(...)
例如我們定義了乙個介面(inte***ce):
type foo inte***ce
然後定義了乙個結構體(struct)
type dog struct
然後我們希望在**中判斷dog這個struct是否實現了foo這個inte***ce
var _ foo = dog{}
上面用來判斷dog是否實現了foo, 用作型別斷言,如果dog沒有實現foo,則會報編譯錯誤
假設我們在**的import中這樣引入package:
import _ "test/foo"
這表示呢在執行本段**之前會先呼叫test/foo中的初始化函式(init),這種使用方式僅讓匯入的包做初始化,而不使用包中其他功能
例如我們定義了乙個foo struct,然後對它進行初始化
package foo
import "fmt"
type foo struct
func init()
fmt.printf("init foo object: %v\n", f)
}
然後在main函式裡面引入test/foo
package main
import (
"fmt"
_ "test/foo"
)func main()
執行結果如下
init foo object: &
hello world
我們可以看到:在main函式輸出"hello world"之前就已經對foo物件進行初始化了! golang之下劃線 之語義說明
1.忽略返回值 這個應該是最簡單的用途,比如某個函式返回三個引數,但是我們只需要其中的兩個,另外乙個引數可以忽略,這樣的話 可以這樣寫 v1,v2,function 2.用在變數 特別是介面斷言 例如我們定義了乙個介面 inte ce type foo inte ce 然後定義了乙個結構體 stru...
Python中下劃線說明
在python中經常看到方法或者變數前帶有下劃線,稍作解釋。1.前後雙下劃線 mtthod 這一般是系統定義的特殊方法,類似於類的構造方法 init 2.前單下劃線 以單下劃線開頭的變數指的是變數的許可權型別為protected,即是保護許可權的變數,該型別的變數只能通過其本身及子類的例項物件能夠訪...
python中下劃線 的用途
python 用下劃線作為變數字首和字尾指定特殊變數。不能用 from module import 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開頭。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下劃線作為變數名的開頭。一般來講,...