今天有空试了下Golang的any 类型,特此写下文件记录下。
类型定义
any是一个内建类型在builtin.go文件下,定义如下
// any is an alias for interface{} and is equivalent to interface{} in all ways.
type any = interface{}
测试
package main
import (
"fmt"
"strconv"
)
func main() {
AnyTest("zhang", "1")
AnyTest("zhang", 2)
}
// AnyTest is builtin type test
func AnyTest(name string, data any) error {
switch data.(type) {
case string:
fmt.Println(name, data.(string))
case int:
fmt.Println(name, strconv.Itoa(data.(int)))
}
return nil
}
运行结果
zhang 1
zhang 2