技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

2018-11-28から1日間の記事一覧

struct【Go】

Go

宣言 変数をまとめたもの、すなわち構造体を意味します。 type Vertex struct{ X, Y int } func main(){ v := Vertex{X:1, Y:2} // v := Vertex{1, 2} // このようにも書ける v.X = 100 fmt.Println(v) // {100 2} fmt.Println(v.X, v.Y) // 100 2 } struct…

new【Go】

Go

ポインタ型を宣言する際、同時にメモリ領域を確保する場合に使用します。 var p *int = new(int) fmt.Println(*p) // 0 p番地の実体を出力。メモリ領域を確保したため、初期値0が設定されている *p++ fmt.Println(*p) // 1 newを使わずに宣言した場合、メモ…

panicとrecover【Go】

Go

panic()を用いて強制終了させることができます。 panic("error!") また、recover()を用いて、実行したpanicを取り消すこともできます。 deferを使って、panicより先に宣言し、関数内の処理の最後に実行する必要があります。 defer func(){ str := recover() …

エラーハンドリング【Go】

Go

返されたエラーをifを使ってハンドリングします。 file, err := os.Open("hello.go") // 読み取り専用でファイルを開く if err != nil { log.Fatalln(err) // errが返されたらプログラム終了 } defer file.Close() data := make([]byte, 100) count, err := …