📚

GOを1から学ぶ #4

に公開

初めに

こんにちは!技術スタック的には、フロントよりですが、GOを学ぶ機会があったので、その記録を取りたいと思いこの記事を書いてます。(初心者のため優しい目で見てください)
今回は、以下について簡単にまとめます。

  • if文について
  • for文について
  • defer文について

if文について

if文の基本的な構文は以下のようになる。

if 条件 {
    条件がtrueのときの処理
} else {
    条件がfalseのときの処理(省略可)
}

for文について

for文の基本的な構文は以下のようになる。

for 初期化; 条件; 更新 {
    繰り返したい処理
}

具体的な例

package main

import "fmt"

func main() {
    for i := 1; i <= 5; i++ {
        fmt.Println(i)
    }
}

実行結果
1
2
3
4
5

defer文について

defer は、遅延実行を行うために使う。
基本的な構文

defer 関数()

具体的な例

package main

import "fmt"

func main() {
    fmt.Println("apple")
    defer fmt.Println("banana")
    fmt.Println("orange")
}

実行結果
apple
orange
banana

複数のdeferを使うとどうなるのか

複数のdeferを使うとどうなるのか気になったのでやってみた。

package main

import "fmt"

func main() {
    defer fmt.Println("1")
    defer fmt.Println("2")
    defer fmt.Println("3")
}

実行結果
3
2
1

defer で登録された関数は 「最後から順に(LIFO)」 実行される。

Discussion