相关疑难解决方法(0)

包含切片的方法

是否有类似slice.contains(object)Go中的方法而不必搜索切片中的每个元素?

go slice

174
推荐指数
10
解决办法
21万
查看次数

如何找出切片中的元素位置?

如何确定切片中存在的元素的位置?

我需要以下内容:

type intSlice []int

func (slice intSlice) pos(value int) int {
    for p, v := range slice {
        if (v == value) {
            return p
        }
    }
    return -1
}
Run Code Online (Sandbox Code Playgroud)

position go slice

96
推荐指数
8
解决办法
8万
查看次数

检查值是否在列表中

Go有类似Python的in关键字吗?我想检查一个值是否在列表中.

例如在Python中:

x = 'red'

if x in ['red', 'green', 'yellow', 'blue']:
    print "found"
else:
    print "not found"
Run Code Online (Sandbox Code Playgroud)

在Go中,我想出了使用set惯用法,但我不认为这是理想的,因为我必须指定一个我没有使用的int值.

x := "red"

valid := map[string]int{"red": 0, "green": 0,"yellow": 0, "blue": 0}

if _, ok := valid[x]; ok {
    fmt.Println("found")
} else {
    fmt.Println("not found")
}
Run Code Online (Sandbox Code Playgroud)

我知道有一个in关键字可能与泛型有关.有没有办法使用go generate或其他东西来做到这一点?

dictionary set go

6
推荐指数
1
解决办法
5620
查看次数

标签 统计

go ×3

slice ×2

dictionary ×1

position ×1

set ×1