回答

收藏

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

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

如果不如何遍历整个数组?x使用 Go检查数组是否存在?语言有结构吗?
/ L8 t) K& R# N像Python: if "x" in array: ...
6 J7 U; ~1 J7 v- L6 y& ?8 y                                                                * A6 e( m8 C5 S1 w( K$ ^/ O) e
    解决方案:                                                                % X  U: x6 B7 b; d
                                                                在 Go 没有内置的操作符可以做到这一点。您需要遍历数组。您可以编写您的函数来执行此操作,如下所示:
- t6 z0 T' k* e: A- e" T7 c6 x) g# ~
    func stringInSlice(a string,list []string) bool    for _,b := range list        if b == a            return true         return false}
    ; I  {' c( j. m2 m9 N
如果您想在不通过整个列表的情况下检查成员资格,您需要使用映射而不是数组或切片,如下所示:. q, o' V0 V! `1 ]
    visitedURL := map[string]bool    "http://www.google.com": true,   "https://paypal.com": true,}if visitedURL[thisSite]    fmt.Println("Already been here.")}
    % w0 w0 J3 q3 z7 Q  l+ p# r6 T
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则