Go 是否具有类似于 Python 的“if x in”结构?
技术问答
254 人阅读
|
0 人回复
|
2023-09-12
|
如果不如何遍历整个数组?x使用 Go检查数组是否存在?语言有结构吗?" y' x0 Q4 D) f0 z7 d: l+ J; I
像Python: if "x" in array: ...
& ~6 h9 _, z# s# j3 s & k* N" | _; c8 T8 C' |5 s
解决方案:
% |! W# Q+ Z, m/ w9 }1 d5 y% r 在 Go 没有内置的操作符可以做到这一点。您需要遍历数组。您可以编写您的函数来执行此操作,如下所示:8 m4 B5 k* o0 z) F" a& m( y: } I
func stringInSlice(a string,list []string) bool for _,b := range list if b == a return true return false}7 C K+ O. O4 t6 p& F O
如果您想在不通过整个列表的情况下检查成员资格,您需要使用映射而不是数组或切片,如下所示:
. s- ^0 {9 q# R- \# _% `visitedURL := map[string]bool "http://www.google.com": true, "https://paypal.com": true,}if visitedURL[thisSite] fmt.Println("Already been here.")}. _+ H- l9 \0 _, B8 X- |, I
|
|
|
|
|
|