☑本記事の内容
- if文
- for文
if文
✔if文の目次
基本的なこと
- if文を使うことで条件の指定が出来る
package main
import (
"fmt"
)
func main() {
s := 4
if s%2 == 0 {
fmt.Println("by 2")
}
}
(結果)
by 2
- elseを使うことでそれ以外と指定できる
package main
import (
"fmt"
)
func main() {
s := 5
if s%2 == 0 {
fmt.Println("by 2")
} else {
fmt.Println("else")
}
}
(結果)
else
- else ifを使用することで他の条件を追加出来る
package main
import (
"fmt"
)
func main() {
s := 9
if s%2 == 0 {
fmt.Println("by 2")
} else if s%3 == 0 {
fmt.Println("by 3")
} else {
fmt.Println("else")
}
}
(結果)
by 3
- if文の場合、上に書いている処理が優先される
- 下記の例ように6の場合は2,3どちらでも割り切れるが先に書いている2が優先
package main
import (
"fmt"
)
func main() {
s := 6
if s%2 == 0 {
fmt.Println("by 2")
} else if s%3 == 0 {
fmt.Println("by 3")
} else {
fmt.Println("else")
}
}
(結果)
by 2
and,orの使い方
- andは&&、orは||で表せる
package main
import (
"fmt"
)
func main() {
x, y := 10, 20
v, w := 20, 30
if x == 10 && y == 20 {
fmt.Println("and1")
}
fmt.Println("==========")
if v == 20 && w == 20 {
fmt.Println("and2")
}
fmt.Println("==========")
if x == 10 || y == 10 {
fmt.Println("or1")
}
fmt.Println("==========")
if v == 30 || w == 20 {
fmt.Println("or2")
}
}
(結果)
and1
==========
==========
or1
==========
関数を用いたif文
- 関数を用いてのif文も使用できる
- 変数とif文を1行で書くことも可能
package main
import (
"fmt"
)
func by2(num int) string {
if num%2 == 0 {
return "ok"
} else {
return "no"
}
}
func main() {
result := by2(10)
if result == "ok" {
fmt.Println("great")
}
if result2 := by2(10); result2 == "ok" {
fmt.Println("great 2")
}
}
(結果)
great
great 2
- 変数とif文を1行で書いた場合は変数を後から使用できないので注意
package main
import (
"fmt"
)
func by2(num int) string {
if num%2 == 0 {
return "ok"
} else {
return "no"
}
}
func main() {
result := by2(10)
if result == "ok" {
fmt.Println("great")
}
fmt.Println(result)
}
(結果)
great
ok
package main
import (
"fmt"
)
func by2(num int) string {
if num%2 == 0 {
return "ok"
} else {
return "no"
}
}
func main() {
if result2 := by2(10); result2 == "ok" {
fmt.Println("great 2")
}
fmt.Println(result2)
}
(結果)エラー表示
Build process exiting with code: 2 signal: null
for文
基本的なこと
- forは繰り返しのこと
- 指定した条件になるまで繰り返される
package main
import (
"fmt"
)
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
(結果)
0
1
2
3
4
5
6
7
8
9
continue
- continueを使うことでそれより後に書かれている処理をスキップする
package main
import (
"fmt"
)
func main() {
for i := 0; i < 10; i++ {
if i == 3 {
fmt.Println("continue")
continue
}
fmt.Println(i)
}
}
(結果)
0
1
2
continue
4
5
6
7
8
9
break
- breakを使うことでfor文を終了させる
package main
import (
"fmt"
)
func main() {
for i := 0; i < 10; i++ {
if i == 3 {
fmt.Println("continue")
continue
}
if i > 5 {
fmt.Println("break")
break
}
fmt.Println(i)
}
}
(結果)
0
1
2
continue
4
5
break
forの省略
- 変数と処理に関して省略することも出来る
- 省略した場合は別の場所で変数などを書く必要がある
package main
import (
"fmt"
)
func main() {
sum := 1
for sum < 10 {
sum += sum
fmt.Println(sum)
}
fmt.Println(sum)
}
(結果)
2
4
8
16
16
無限ループ
- 終了条件を書かないと無限ループとなる
- 無限ループになった場合は強制終了する
package main
import (
"fmt"
)
func main() {
for {
fmt.Println("hello")
}
}
(結果)
hello
hello
hello
hello
hello
hello
hello
.
.
.
Process exiting with code: 1 signal: false