golang T 类型变量
时间: 2023-07-26 15:23:49 浏览: 102
golang变量的学习
在 Golang 中,T 是一个泛型类型,它可以代表任何类型。T 可以通过类型参数来定义,比如在函数中使用泛型类型参数:
```go
func Swap[T any](a,b T) (T, T) {
return b, a
}
```
在上述代码中,`T any` 表示 T 是一个泛型类型,可以代表任何类型。函数 `Swap` 可以接收两个参数 a 和 b,它们的类型都是 T,函数返回值也是 T 类型。
在使用泛型类型时,可以使用类型断言将 T 转换为具体的类型,例如:
```go
func main() {
a, b := Swap("hello", 123)
fmt.Println(a, b) // 123 hello
c, ok := a.(int)
if ok {
fmt.Println("a is an int:", c)
} else {
fmt.Println("a is not an int")
}
}
```
在上述代码中,我们调用了函数 `Swap`,传入了一个字符串和一个整数。函数返回值类型是 T,我们将其赋值给变量 a 和 b。然后我们使用类型断言将 a 转换为 int 类型,因为我们知道此时 a 的实际类型是 int。最后,我们根据类型断言的结果判断 a 是否为 int 类型。
阅读全文