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 ^) {& efunc 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 FvisitedURL := 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 |
|
|
|
|
|