#【Golang】defer(遅延処理)
Golangの基礎学習〜Webアプリケーション作成までの学習を終えたので、復習を兼ねてまとめていく。 基礎〜応用まで。
package main
//defer 遅延実行
//goroutinやファイルの書き込み、読み込みでよく使われる
//Pythonのwithのよう
import (
"fmt"
"os"
)
func main(){
//
defer fmt.Println("最後に実行される")
fmt.Println("最初に実行")
//3,2,1で実行される
fmt.Println("run")
defer fmt.Println(1)
defer fmt.Println(2)
defer fmt.Println(3)
fmt.Println("success")
//主な使われ方
//fileを開く
//_はエラーハンドリング
file, _ := os.Open("./if.go")
//最後に閉じる
defer file.Close()
//バイト配列作成(文字数)
data := make([]byte, 100)
//バイト配列分読み込む
file.Read(data)
//文字列に変換して出力
fmt.Println(string(data))
}