開発初心者の開発日記~2日目~

内容

  • A Tour of Go での基本文法の把握
    • 35分程度
    • BasicsのPackages,variables, and functionsの残り

メモ

Variables

  • 変数宣言時にvarを用いる(1)
    • 宣言時にゼロ初期化
    • 数値型は0、bool型はfalse、string型は空文字列
  • 宣言時に初期化可能(2)
    • その場合は型を省略可能
    • 初期化子の型になる
  • 関数内では暗黙的型宣言が可能(3)
    • varを使わずに:=を利用するだけ
    • ただし、関数外では暗黙的型宣言はできないことに注意
//(1)
var c, python, java bool
//(2)
var c, python, java = true, false, "no!"
//(3)
func main() {
  c, python, java := true, false, "no!"
}

Type

  • 組み込み型(基本型)は下記に列挙
    • 他の言語とそこまで変わらない
  • 変数の暗黙的型変換はできない(1)
    • 明示的な変換が必要
  • 明示的な型を指定していない変数宣言の場合は右側の変数からの型推論(2)
    • 型を指定していない数値の場合は、int,float64,complex128のいずれかになる。
    • 数値がintをオーバフローするときの型は?(float64?)
bool

string

int  int8  int16  int32  int64
uint uint8 uint16 uint32 uint64 uintptr

byte // uint8 の別名

rune // int32 の別名(Unicode のコードポイント)

float32 float64

complex64 complex128

//(1)
i := 42
f := float64(i)
u := uint(f)

//(2)
i := 42           // int
f := 3.142        // float64
g := 0.867 + 0.5i // complex128

Constants

  • 定数の宣言はvarの代わりにconstを用いる
    • 文字、文字列、真偽値、数値、で使うことができる
    • :=を使った宣言をすることはできない