Golang入門2(変数、定数)

2019-08-20 2019-08-25

Go言語入門の続きです。
今回も勉強した事をメモっていきます。

変数(Variables)

基本

  • varを使って、変数を宣言します
  • var <変数名1>[, <変数名2>, ...] <型>の形式で宣言します
  • 型が同じ変数は、var a, b intのように、,(カンマ)で繋げて書けます
  • 型の後ろに=演算子を使い初期値を設定できます。
    • var <変数名1>[, <変数名2>, ...] [<型>] = <初期値1>[, <初期値2>, ...]
    • このとき、型は省略可能
    • 型を省略すると、複数の異なる型の変数をまとめて宣言できる
  • 関数の中であれば、変数を初期化する際、varステートメントの代わりに:=を使う事ができます
  • zero値
    • 初期化せずに変数を定義した場合、型ごとに以下のzero値が設定される
    • int, float: 0
    • bool: false
    • string: ""
// 初期化しないで変数を宣言
var c, python, java bool

// 宣言時に初期化する(型を省略しない)
var i, j int = 1, 2

// 宣言時に初期化する(型を省略)
var c, python, java = true, false, "no!"

// 宣言時に初期化する(varを省略)
c, python, java := true, false, "no!"

標準の型として以下がある
- bool
- string
- int
- int8
- int16
- int32
- int64
- uint
- uint8
- uint16
- uint32
- uint64
- uintptr
- ポインター用の型
- byte
- uint8へのエイリアス
- rune
- int32へのエイリアス
- float32
- float64
- complex64
- complex128

型の変換(キャスト)

型の変換。例えば、intからfloatやfloatからintなどは、型名と同名の関数に変換したい値を渡すとできる

f := 3.1415
i := uint(f)

定数

定数はconstキーワードで宣言します。
慣習的に定数名のパスカルケースで書くようです。
定数は、関数の内外問わずconstキーワードでのみ宣言が可能です。

const Pi = 3.14
// Piを書き換えようとするとエラーになる。