A Tour of Go - Packages, variables, and functions の自分用リファレンスメモ

個人開発したアプリの宣伝
目的地が設定できる手帳のような使い心地のTODOアプリを公開しています。
Todo with Location

Todo with Location

  • Yoshiko Ichikawa
  • Productivity
  • Free

A Tour of Go の自分用リファレンスメモ

A Tour of Go

Exported names

外部のパッケージから参照できるオブジェクトは先頭が大文字から始まる。

例) PrintlnとPi

fmt.Println(math.Pi)

Functions

関数の定義
func add(x int, y int) int {
    return x + y
}
add(42, 13)
引数型の省略

同じ型の引数が続く場合は、最後のみ型を記述して省略することができる

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

関数は複数の戻り値を返すことができる。

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

a, b := swap("hello", "world")
Named return values

名前をつけた戻り値の変数を使うと、 return ステートメントに何も書かずに戻すことができる。

func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}
// 7 10 が出力
fmt.Println(split(17))

Variables

宣言。関数の引数リストと同様に、複数の同じ型の変数には最後に型を書くことができる。

var c, python, java bool
Variables with initializers

初期化も同時に行う場合は型宣言を省略できる。

違う型の変数を同時に初期化できる。

var c, python, java = true, false, "no!"
Short variable declarations

:= 演算子で初期化することでvar 宣言を省略できる。但し関数内のみでの使用に限る。

func main() {
    c, python, java := true, false, "no!"
    fmt.Println(c, python, java)
}

Constants

定数はconst キーワードを使って定義する。

const Truth = true
const (
    Big = 1 << 100
    Small = Big >> 99
)