druzuz321103
2012-11-22 21:18
采纳率: 100%
浏览 6.6k
已采纳

如何检查Go中的字符串切片是否包含某个值?

检查某个值是否在字符串片中的最佳方法是什么?我会用其他语言的集合,但是Go没有。到目前为止,我最大的努力是:.

package main

import "fmt"

func main() {
    list := []string{"a", "b", "x"}
    fmt.Println(isValueInList("b", list))
    fmt.Println(isValueInList("z", list))
}

func isValueInList(value string, list []string) bool {
    for _, v := range list {
        if v == value {
            return true
        }
    }
    return false
}

http://play.golang.org/p/gkwMz5j09n

这个解决方案对于小片应该是可以的,但是对于有许多元素的片应该怎么做呢?

图片转代码服务由CSDN问答提供 功能建议

检查字符串切片中是否存在某个特定值的最佳方法是什么? 我会使用其他语言的Set,但是Go没有一个Set。

到目前为止,我最好的尝试是:

  包main 
 
import“ fmt” 
 
func main(){
 list:= [] string {“ a”,“ b”,“ x”} 
 fmt.Println(isValueInList(“ b”,  list))
 fmt.Println(isValueInList(“ z”,list))
} 
 
func isValueInList(值字符串,列表[]字符串)bool {
表示_,v:=范围列表{
 如果v ==值{
返回true 
} 
} 
返回false 
} 
   
 
 

http://play.golang.org/p/gkwMz5j09n

对于小规模的用户,此解决方案应该可以 切片,但是对包含许多元素的切片怎么办?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题