Go言語の型エラー「non-bool (type int) used as if condition」とは一体
参考URL ▼お気楽 Go 言語プログラミング入門
- エラトステネスのふるい
・コード
package main import "fmt" func main() { var primes [100]int for n := 2; n < len(primes); n++ { if primes[n] { continue } for m := 2 * n; m < len(primes); m += n { primes[m] = true } fmt.Print(n, " ") } }
・実行結果
[Running] go run "c:\Users\user\go\src\play_gig\sieve.go" command-line-arguments src\play_gig\sieve.go:8:3: non-bool primes[n] (type int) used as if condition src\play_gig\sieve.go:12:14: cannot use true (type bool) as type int in assignment [Done] exited with code=2 in 0.596 seconds
エラー内容
non-bool primes[n] (type int) used as if condition
cannot use true (type bool) as type int in assignment
解決
この部分を
var primes [100]int
こう変えた
var primes [100]bool
疑問点
配列にint型とbool型とつけることができるって一体?