gpt4 book ai didi

go - 检查golang中的 slice 类型

转载 作者:IT王子 更新时间:2023-10-29 01:26:07 25 4
gpt4 key购买 nike

我使用反射包来检查我的变量的类型。例如,如果我想检查 var 是否是一个整数,我会这样做:

reflect.TypeOf(var).Kind == reflect.Int

如何检查我的变量是整型还是浮点型 slice ?

我只能将 Slice 视为 Kind() 返回的类型之一,但此 slice 可以是任何类型

最佳答案

如果类型是 slice ,Elem() 将返回基础类型:

func main() {
foo := []int{1,2,3}
fmt.Println(reflect.TypeOf(foo).Elem()) //prints "int"
fmt.Println(reflect.TypeOf(foo).Elem().Kind() == reflect.Int) //true!
}

当然,你最好先检查一下它是不是 slice 。

关于go - 检查golang中的 slice 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24227551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com