GO语言学习:断言格式

1.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. ",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值

不为其他,只为快乐!
原文地址:https://www.cnblogs.com/1521299249study/p/10056764.html