Go语言 “ _ ”(下划线),“_”是特殊标识符,用来忽略结果。
下划线意思是忽略这个变量.比如os.Open,返回值为*os.File,error普通写法是f,err:=os.Open("xxxxxxx")如果此时不需要知道返回的错误值就可以用f,_:=os.Open("xxxxxx")如此则忽略了error变量
占位符,意思是那个位置本应赋给某个值,但是咱们不需要这个值。
所以就把该值赋给下划线,意思是丢掉不要。
这样编译器可以更好的优化,任何类型的单个值都可以丢给下划线。
这种情况是占位用的,方法返回两个结果,而你只想要一个结果。
那另一个就用 "_" 占位,而如果用变量的话,不使用,编译器是会报错的。
import"database/sql"import _"github.com/go-sql-driver/mysql"
第二个import就是不直接使用mysql包,只是执行一下这个包的init函数,把mysql的驱动注册到sql包里,然后程序里就可以使用sql包来访问mysql数据库了。
package main
import "fmt"
func Foo(a,b int) (ret int, err error) {
if a > b {
return a,nil
}else {
return b,nil
}
return 0,nil
}
func main() {
i,_:= Foo(1,2)
fmt.Println("Hello,世界",i)
}
网友评论