go 的 any 关键字
时间: 2023-02-10 10:08:15 浏览: 170
Go 语言中的 `any` 关键字是用来声明一个可以存储任意类型的变量的。这个关键字的类型是 `interface{}`,它是一个空接口,它不包含任何方法,因此任何类型都实现了这个接口。
下面是一个使用 `any` 关键字声明变量的例子:
```
var x any = "hello"
```
在这个例子中,`x` 是一个可以存储任意类型的变量,并且它当前存储的是字符串类型的值 "hello"。
使用 `any` 关键字声明的变量是非常灵活的,但是它们也有一些限制。由于 `any` 类型的变量不包含任何方法,所以你不能在它们上面调用方法。为了在 `any` 类型的变量上面调用方法,你需要使用类型断言将它转换成正确的类型。
下面是一个使用类型断言调用方法的例子:
```
var x any = "hello"
s, ok := x.(string)
if ok {
fmt.Println(s.ToUpper())
}
```
在这个例子中,我们使用类型断言将 `x` 转换成字符串类型,并调用字符串的 `ToUpper` 方法。
阅读全文