Golang 下劃線語義

丟棄返回值

_,err := Test()

用在變量接口斷言 用來判斷對象是否實現了接口

package main

import (
	"fmt"
	"yangxd/te"
)


var _ Foo = Dog{} // 如果沒有實現 則 會編譯失敗  用來判斷Dog 對象是否實現了Foo 接口

func main() {
	fmt.Println("主要")
	fmt.Println("kk: ", te.KK)
}

type Foo interface {
	Say()
}
type Dog struct {
}

func (d Dog) Say() {

}

用來初始化 一些 全局的變量 常量 執行init 函數

package main

import (
	"fmt"
	"yangxd/te"
)
import _ "yangxd/te" // 初始化一些值 但是不會使用裏面的方法

var _ Foo = Dog{}

func main() {
	fmt.Println("主要")
	fmt.Println("kk: ", te.KK)
}

type Foo interface {
	Say()
}
type Dog struct {
}

func (d Dog) Say() {

}

package te

import "fmt"
var KK int
func init() {
	fmt.Println("你好")
	KK = 100
}

打印結果

你好
主要
kk:  100
發佈了164 篇原創文章 · 獲贊 54 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章