Golang语言中的项目(推文),这是什么意思?

时间:2018-11-19 04:07:29

标签: go

我发现以下Golang语言代码

item.(Tweet)

我已经知道每个变量都有一个方法。但是我不知道上面的代码。有人知道吗?

1 个答案:

答案 0 :(得分:4)

它叫type assertions

  

类型断言提供对接口值的基础具体值的访问。

示例:

var num interface{} = 5
var numActual int = num.(int)

fmt.Println(numActual)

在上面的代码中,num是类型为interface{}的变量。它可以保存任何类型的值,但是在上面的示例中,它存储着一个数字整数数据5

要从num获取基础的具体值,只需在变量末尾添加.(type)

num.(int)

通过检查语句的第二个返回值,可以检查interface{}变量是否可转换为某些类型。示例:

if actual, ok := num.(string); ok {
    fmt.Println("num is not string")
    fmt.Println("it's a number data with value is", actual)
}