gpt4 book ai didi

golang 检查 slice 的长度,如果它是一个 slice map[string]interface{}

转载 作者:IT王子 更新时间:2023-10-29 02:32:29 27 4
gpt4 key购买 nike

我想看看v的类型是不是slice。如果是这样,我想检查它的长度。

var a = make(map[string]interface{})

a["a"] = 1
a["b"] = []string{"abc", "def"}
a["c"] = []int{1,2,3}

for k, v := range a {
if reflect.TypeOf(v).Kind() == reflect.Slice {
t.Log("Length of map", k, len(v)) // invalid argument v (type interface {}) for len
}
}

既然我知道它是一个 slice ,我该如何检查它的长度?

预期输出:

Length of map b 2
Length of map c 3

最佳答案

v 仍然是一个接口(interface){},您不能对其应用 len()。您可以使用反射通过 reflect.ValueOf(v).Len() 获取长度。

关于golang 检查 slice 的长度,如果它是一个 slice map[string]interface{},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44723460/

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