Go言語で配列の各要素が全て条件を満たすかどうかを調べる
関連 : 配列の各要素が全て条件を満たすかどうかを調べる - brainstorm
Go言語だとビルトインには無さそう。
自前で書くとこんな感じか
package main import ( "fmt" ) func All(vs []string, f func(string) bool) bool { for _, v := range vs { if !f(v) { return false } } return true } func main() { result := All([]string{"a", "b", "c"}, func(s string) bool { return len(s) == 1 }) fmt.Println(result) // -> true result2 := All([]string{"a", "b", "c", "dd"}, func(s string) bool { return len(s) == 1 }) fmt.Println(result2) // -> false }
しかしこれだとstringの配列しか渡せない。汎用的に書くにはどうするのがよいのだろうか