回答

收藏

Go 是否具有类似于 Python 的“if x in”结构?

技术问答 技术问答 281 人阅读 | 0 人回复 | 2023-09-12

如果不如何遍历整个数组?x使用 Go检查数组是否存在?语言有结构吗?
( Z/ _( T" H6 `# U  s: J7 {5 I像Python: if "x" in array: .... R( ^2 N5 W4 E: h  P) k: Z+ t
                                                                * F( `/ _  _# _# W  ~
    解决方案:                                                               
0 ]( @3 Y/ G; A3 f' l7 J( I/ _                                                                在 Go 没有内置的操作符可以做到这一点。您需要遍历数组。您可以编写您的函数来执行此操作,如下所示:
, k- B3 }0 O; e6 ?  v3 a  Q1 ^) {& e
    func stringInSlice(a string,list []string) bool    for _,b := range list        if b == a            return true         return false}# F  ~( f8 Z8 P
如果您想在不通过整个列表的情况下检查成员资格,您需要使用映射而不是数组或切片,如下所示:
# o: @& H( A* Z" ?$ e8 F
    visitedURL := map[string]bool    "http://www.google.com": true,   "https://paypal.com": true,}if visitedURL[thisSite]    fmt.Println("Already been here.")}
    0 r( y9 c( ~. F9 b; i) u/ v; a
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则