go言語の学習メモ
基本
packageはmainから
package main import fmt "fmt" func main(){ fmt.Print("Hello World.") }
基本のメインプログラムはpackage mainから
インデントはTab
go言語ではインデントをタブで管理しているよう
エディタでは適当に2〜4にしておけばいいのかな
末尾にセミコロンは不要
javascriptやphpなどでは末尾にセミコロンが必要でしたけどgo言語には不要のようです
コメントは // か /* */
これはjavascriptやphpなどと同じ用に// で行末、/* */で範囲をコメント化するようです
変数
方法1:変数を定義する場合には「:a」のように変数の前にコロンを定義する必要がありそうです
package main import fmt "fmt" func main(){ // 変数aに10を代入 a := 10 fmt.Print(a, "\n") // 変数aを上書き a = 100 fmt.Print(a, "\n") // 変数bに"hoge"を代入 b := "hoge"; fmt.Print(b, "\n") }
方法2:varで指定した場合は型を定義できるので明確なデータ型をわかりやすくするためにはこちらのほうがいいかも
package main import fmt "fmt" func main(){ var ( a int b string ) // 変数aに10を代入 a = 10 fmt.Print(a, "\n") // 変数aを上書き a = 100 fmt.Print(a, "\n") // 変数bに"hoge"を代入 b = "hoge"; fmt.Print(b, "\n") }
使い捨ての変数などはその場だけにすればいいけど意味がある変数などは定義したほうがいいはず
定数
constを使用する
package main import fmt "fmt" func main(){ const ( HOGE = "hoge" ) // 変数bに"hoge"を代入 b := HOGE; fmt.Print(b, "\n") // 以下はエラー //HOGE = "aaa" }
関数
funcで引数と返り値を定義
package main import fmt "fmt" func main(){ var ( a int b int c int s string ) // add関数を呼び出して結果を取得 a = 10 b = 20 c = add(a, b) fmt.Printf("%d + %d = %d \n", a, b, c) s = "Foo" echo(s) echo2() } /** * 関数add */ func add(a int, b int) int{ return a + b } /** * 関数echo * 返り値なしの場合はreturn文にパラメータを設定しない */ func echo(s string) { fmt.Println(s); return } /** * 引数、返り値なし */ func echo2(){ fmt.Println("Foo2") return }
※返り値が存在しない場合でもreturn文を記載することは必要
とりあえず、今回はここまで
いろいろ試していきながら理解していく