1、import中的下滑线
import(
_ "net"
)
此时“_”的作用是:当导入一个包的时候,不需要把所有的包都导进来,只需要导入使用该包下的文件里所有的init()的函数。
package main
import _ "hello/imp"
func main() {
//imp.Print() //编译报错,说:undefined: imp
}
2、下划线在代码中
作用是:下划线在代码中是忽略这个变量
也可以理解为占位符,那个位置上本应该赋某个值,但是我们不需要这个值,所以就把该值给下划线,意思是丢掉不要,这样编译器可以更好的优化,任何类型的单个值都可以丢给下划线。
如果方法返回两个值,只想要其中的一个结果,那另一个就用_占位
package main
import "fmt"
v1, v2, _ := function(...)
还有一种情况是回收资源的时候:
在Go中回收资源可以使用_ = conn.Close()进行接收,表示关闭资源后就不要了
_ = conn.Close()