bool値
Python, Javascript:("")データも”偽”とみなされるが、
Go:真の値はtrue
だけ。偽の値はfalse
だけ
package main
import (
"fmt"
"strings"// 文字列を扱うパッケージ
)
func main() {
var command = "walk outside"
var exit = strings.Contains(command, "outside")// commad文字列は"outsideを含むか(return bool)"
fmt.Println("out cave", exit)
}
if分岐
package main
import (
"fmt"
)
func main() {
var age = 1
if age >= 20 {
fmt.Println("飲酒喫煙OKです")
} else if 10 < age && age < 20 {
fmt.Println("飲酒喫煙NGです")
} else {
fmt.Println("まさかそんな人いないよね!?")
}
}
-
if XXXX
はif (XXXX)
にしてもOK - or演算は
||
を使用する
switch分岐
func main() {
var age = 20
switch {//case内部でbool値を比較する場合はswitch XXの記述は不要
case (age >= 20):
fmt.Println("飲酒喫煙OKです")
case (10 < age && age <= 20):
fmt.Println("飲酒喫煙NGです")
default:
fmt.Println("まさかそんな人いないよね!?")
}
}
switchXX
を必要とするとき
func main() {
var name = "hoge"
switch name {
case "hoge":
fmt.Println("Good day!")
case "huga":
fmt.Println("nice!")
fallthrough// C, Java, Javascriptではデフォルト
default:
fmt.Println("wonderful!")
}
}
ループ文
func main() {
var i = 0
const stopNum = 10
for i < stopNum { // 条件を記述
fmt.Println(i)
if i == 7 {
fmt.Println("break!")
break // ループからブレイクアウト
}
i++
}
}
■練習問題(数あてゲーム)解答例
func main() {
var randNum = rand.Intn(100)
const collectNum = 49
switch {
case collectNum == randNum:
fmt.Printf("randNum : %v, just collect!!", randNum)
case collectNum > randNum:
fmt.Printf("randNum : %v, too small", randNum)
case collectNum < randNum:
fmt.Printf("randNum : %v, too big", randNum)
default:
fmt.Printf("error")
}
}