Open3

初めてのGo言語 学習メモ

leviosa42leviosa42

C01 go コマンド

go run

ファイルを直接実行する(ように見える)。

$ go run hello.go

実際には、

  1. バイナリファイルをビルドして一時ディレクトリに保存
  2. そのファイルを実行する
  3. バイナリファイルを削除

が行われている。つまり表面上はインタプリタ言語っぽく扱えるビルド兼実行コマンド。

go build

  • 再利用できる実行形式のバイナリファイルを生成する。
  • バイナリファイルはカレントディレクトリに置かれる。
  • -o オプションでバイナリファイルが置かれる場所を指定できる。
$ go build hello.go
$ ls -F
hello* hello.go

# -o オプション付き
$ go build -o hello_world helo.go

# -o オプションでディレクトリをまたいでも指定できる
# 存在しないディレクトリは自動で作られるっぽい
$ go build -o hoge/hello hello.go  # => ./hoge/hello*
$ go build -o foo/bar/hello hello.go  # => ./foo/bar/hello*
$ go build -o foo/ hello.go # => ./foo/hello*
leviosa42leviosa42

C02 基本型と宣言

第2章 目次
  • 2.1 基本型
    • 2.1.1 ゼロ値
    • 2.1.2 リテラル
      • 2.1.2.1 整数リテラル
      • 2.1.2.2 浮動小数点リテラル
      • 2.1.2.3 runeリテラル
      • 2.1.2.4 文字列リテラル
      • 2.1.2.5 リテラルと型
      • 2.1.3 論理型 bool
      • 2.1.4 数値型
        • 2.1.4.1 整数型
        • 2.1.4.2 特別な整数型
        • 2.1.4.3 整数型の選択
        • 2.1.4.4 整数関連の演算子
        • 2.1.4.5 浮動小数点数型
        • 2.1.4.6 複素数型
      • 2.1.5 文字列型とrune型
      • 2.1.6 明示的型変換
    • 2.2 変数の宣言
    • 2.3 定数
    • 2.4 型付き定数と型のない定数
    • 2.5 未使用変数
    • 2.6 変数および変数の名前
    • 2.7 まとめ

ゼロ値 (zero value) ... 宣言されたが値が割り当てられていない変数。

  • コードがクリアになる (? 要比較)
  • C や C++ にありがちなバグを回避できる

リテラル ... 数値や文字、文字列などの値を直に示したもの。JavaScript も同じ役割の用語がある

整数リテラル
// 整数リテラル
1234   // 10進数
0b1011 // 2進数
0o777  // 8進数
0xF0F0 // 16進数

// アンダースコア (_) を使って桁を区切ることも出来る。何個アンダースコアを使ってもok。
123_456
0b0101_1011
//
浮動小数点数リテラル
// 浮動小数点数リテラル
0.1      // = 0.1
.24      // = 0.24 (0無し)
6.022e23 // = 6.022e+23 (指数表記)
0xf.8p-2 // = 3.875 (指数表記、16進数)