GO语言学习:断言格式
断言格式:value,ok:=接口{}(变量名).(需要断言的类型) x.(T) x为需要断言的值,但是这个值当下的类型必须为接口类型,哪个接口无所谓 interface{}代表一个空接口
例:
package main
import "fmt"
var bookStr=[]string{"math","English","dangdang"}
func main(){
bookStr:=map[int]string {0:"math",1:"English",2:"dangdang"} //①
fmt.Printf("The element is %q.\n",bookStr[1]) //②
}
%q 带双引号输出的字符串
断言为: value,ok:=interface{}(bookStr).([]string)
可以写在①和②中间,用来判断类型
ok类型为bool, 真则true,否则false
ok为真,则判断的值被转换为[]string,并且赋值给value,否则value为nil
2.{ }的含义
interface{} 不包含任何方法定义的,空的结构类型
struct{} 不包含任何字段和方法的,空的结构体类型
[ ]string{} 空的切片值
map[int]string{} 空的map值
- 上一篇 »【原创】go语言学习,十四IO操作1
- 下一篇 »浅析Go语言中Channel的各种用法