Go 中有效的“if x in”語法:與Python 構造的比較
Go 本身並沒有提供“if x in”構造與Python類似。然而,有一些有效的技術可以為數組或切片實現相同的功能,並使用映射來進行更有效的成員資格檢查。
對於數組和切片
在Go 中1.18及更高版本,切片提供了Contains 功能,可以方便地檢查成員資格:
if contains.Contains(array, "x") { // Perform actions }
先前Go 1.18 中沒有用於陣列或切片成員資格檢查的內建運算子。可實現自訂函數:
func stringInSlice(a string, list []string) bool { for _, b := range list { if b == a { return true } } return false }
對於地圖
地圖透過儲存鍵值對提供更有效率的成員資格檢查。若要檢查地圖中是否存在元素,請使用下列語法:
if visitedURL[thisSite] { // Perform actions }
其中visitedURL為地圖,其鍵代表元素,數值代表其存在(例如,現有元素為true)。
以上是如何有效率地檢查 Go Slices 和 Maps 中的成員資格?的詳細內容。更多資訊請關注PHP中文網其他相關文章!