【Go语言】错误处理

【Go语言】错误处理

由于完成了对Golang基础知识和Web应用程序创建的学习,现在要进行复习并总结。从基础到应用层面都要涉及。

package main
//エラーハンドリング
//Goには例外機構がない。
//Goでは関数が複数の戻り値を返す特製を利用して、エラーが発生したかの処理を書ける。

import (
    //"fmt"
    "log"
    "os"
)

func main() {
    file, err := os.Open("./aaaaa.go")
    //もしエラーだったら
    if err != nil {
        //出力して終了
        log.Fatalln("Error!")
    }   
    //遅延でクローズ
    defer file.Close()
    //スライス作成
    data := make([]byte, 100)
    //100バイト分読み込み、スライスに追加
    count, err := file.Read(data)
    //なければエラー
    if err != nil {
        log.Fatalln("Error")
    }
    //文字列に変換して読み込みを表示
    fmt.Println(count, string(data))


    //errが何度も出てくるが、毎回上書きされている点に注意
    //err :=は最低でも左側(ここでいうfile,count)が定義されれば、エラーにならない。


    //Chdir ディレクトリ移動
    //エラーしか返さない場合は再定義はできない
    //:=にすると、再定義になる為エラーになる。
    //errしか返さない場合は、一行に省略できる
    if err = os.Chdir("test"); err != nil {
        log.Fatalln("Error")
    }   file.Close()
}
广告
将在 10 秒后关闭
bannerAds