断言格式: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值

相关文章:

  • 2022-01-02
  • 2021-08-16
猜你喜欢
  • 2021-11-01
  • 2021-08-08
  • 2021-11-11
  • 2021-04-16
  • 2022-02-01
  • 2021-05-26
  • 2021-09-08
相关资源
相似解决方案