package main import "fmt" // G 使用接口定义一个名为G的泛型 type G interface { int | string // 该泛型的数据类型可以是int,也可以是string } // InSlice 在自定义函数里使用泛型G func InSlice[T G](needle T, haystack []T) bool { for _, value := range haystack { if value == needle { return true } } return false } func main() { num := 2 sliceInt := []int{9, 5, 2, 7} if InSlice(num, sliceInt) { fmt.Printf("%+v 在 %+v 里 \n", num, sliceInt) // 2 在 [9 5 2 7] 里 } else { fmt.Printf("%+v 不在 %+v 里 \n", num, sliceInt) } }
Copyright © 2024 码农人生. All Rights Reserved