ドキドキするとき無敵でしょ

映画とプログラミングの話

学習の進捗 Golang

A Tour of Go やったリスト

Welcome!
Packages
Imports

わかったこと

Packages

規約で、パッケージ名はインポートパスの最後の要素と同じ名前になります

import したやつ  "math/rand"  
rand.Intn(10))  

Imports

複数のimport statementで書く場合

import "fmt"
import "math"

factored import statementで書く場合

import (
    "fmt"
    "math"
)

Exported names

最初の文字が大文字で始まる名前は外部のパッケージから参照できるexported name
Pi は math パッケージでエクスポートされる

 fmt.Println(math.Pi)

Functions

関数は、0個以上の引数を取る
add 関数は int 型の2つのパラメータを取る
変数名の 後ろ に型名を書くことに注意 (理由についてはここ)Go's Declaration Syntax - The Go Blog

func add(x int, y int) int {
    return x + y
}

Functions continued

関数の2つ以上の引数が同じ型である場合、最後の型を残して省略できる

func add(x, y int) int {
    return x + y
}

Multiple results

この関数は2つの string を返す

func swap(x, y string) (string, string) {
    return y, x
}

func main() {
    a, b := swap("hello", "world")
    fmt.Println(a, b)
}

Named return values

戻り値に名前をつけられる

func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}

Variables

複数の変数を宣言できる.最後に型を書く

var c, python, java bool