配列から指定条件を満たす要素を抽出する
https://ashitani.jp/golangtips/tips_slice.html#slice_CaseSelect
のコードです
package main import "fmt" func main() { a := []int{1, 2, 3, 4} f0 := func(x int) bool { return (x%2 == 0) } fmt.Println(select_map(f0, a)) // => [2 4] } // sから、f(x)==true なxを返す func select_map(f func(s int) bool, s []int) []int { ans := make([]int, 0) for _, x := range s { if f(x) == true { ans = append(ans, x) } } return ans }
まず
f0 := func(x int) bool { return (x%2 == 0) }
のboolは返り値が真偽値という意味だと思うのですが
func select_map(f func(s int) bool, s []int) []int
のfは仮引数、func(s int)はfの型でいいのでしょうか?、そしてここのboolもfの型になるのでしょうか?
先ほどのboolは返り値の型だったのに仮引数fの型になってしまうとなんかモヤっとしてしまいますし、select_mapの仮引数を記入する場所にfの戻り値の型を記入したりするのでしょうか?
最後の[]intはselect_mapの戻り値の型なのはわかるのですがboolは何の何を表しているのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/02/26 08:35