Go言語 例文辞典 (MacOS X) [Go lang sample]

このページはGo言語の用例を扱っています。動作サンプルに関してはMacOS X (10.6.8/Snow Leopard)上で行っています。使用しているGoのバージョンは1.1.1です。
*勉強用に作成したページなので間違いや不具合の出るサンプルがあるかもしれません。致命的なもので、これはまずいというサンプルがありましたらopenspc@alpha.ocn.ne.jpまでメールをください。


Last update:2013/10/10 PM 8:48

インストール (Install)

  1. MacOS X (10.6.8)にGo言語をインストールする
  2. Hello Worldを表示する

型/変数の型

  1. 変数に符号無し8ビット整数値を割り当てる
  2. 変数に符号付き8ビット整数値を割り当てる
  3. 変数に符号無し16ビット整数値を割り当てる
  4. 変数に符号付き16ビット整数値を割り当てる
  5. 変数に符号無し32ビット整数値を割り当てる
  6. 変数に符号付き32ビット整数値を割り当てる
  7. 変数に符号無し64ビット整数値を割り当てる
  8. 変数に符号付き64ビット整数値を割り当てる
  9. 変数に符号無し整数値を割り当てる
  10. 変数に符号付き整数値を割り当てる
  11. 変数に複素数を割り当てる

計算

  1. 数値を加算する
  2. 数値を減算する
  3. 数値を乗算する
  4. 数値を除算する
  5. 剰余(割り算の余り)を求める

複素数

  1. 複素数の虚数部を指定する
  2. 複素数を指定する

変数

  1. 変数を宣言する
  2. 変数をまとめて宣言する
  3. 手短に変数に値を代入する(省略書式/ショートカット)

配列/スライス/マップ

  1. 配列を作成する
  2. 配列要素に値を代入する
  3. 配列作成時に値を設定する
  4. 配列の長さを求める
  5. 二次元配列を作成する
  6. スライスに要素を追加する
  7. スライスをコピーする
  8. 配列要素の値の合計を求める
  9. 配列をスライスする(配列要素の一部をスライス)
  10. 配列をスライスする(全部の配列要素をスライス)
  11. 配列をスライスする(途中から最後までの配列要素をスライス)
  12. 配列をスライスする(最初から途中までの配列要素をスライス)
  13. マップを作成する(ハッシュを作成する/連想配列を作成する)
  14. マップ(ハッシュ/連想配列)の長さを求める

条件判断/条件分岐

  1. 条件が一致した場合に処理する(単純な条件分岐)(if)
  2. 条件が一致しなかった場合に処理する
  3. 数値が小さい場合に処理する
  4. 数値が小さいか等しい場合に処理する
  5. 数値が大きい場合に処理する
  6. 数値が大きいか等しい場合に処理する

繰り返し/ループ

  1. 一定回数繰り返す (for)
  2. 条件付きで繰り返す (for)
  3. 無限に繰り返す (for)
  4. ループから抜ける (break)
  5. ループの先頭に戻る (continue)

エラー

  1. エラー(パニック)を発生させる

関数

  1. 関数を作成する
  2. 1つの引数(パラメーター)と1つの戻り値を返す関数を作成する
  3. 複数の戻り値(多値)を返す関数を作成する
  4. 関数から複数の戻り値(多値)を受け取る

並列処理/ゴルーチン

  1. 並列処理を行う

画像/イメージ

  1. JPEG画像の横幅と縦幅を求める
  2. PNG画像の横幅と縦幅を求める
  3. GIF画像の横幅と縦幅を求める
  4. 画像のピクセル情報を読み出す
  5. PNG画像をJPEG形式で保存する
  6. JPEG画像をPNG形式で保存する
  7. 指定したサイズの四角形を描画しPNG形式で保存する
  8. 指定したサイズの四角形を2つ描画しPNG形式で保存する
  9. JPEG画像をグレー画像に変換した後、PNG形式で保存する

ファイル

  1. ファイルを生成する
  2. ファイルを読み込んで表示する

ディレクトリ/フォルダ

  1. ディレクトリ内にあるファイル/ディレクトリを読み込んで表示する
  2. ディレクトリ内にあるファイルのサイズを表示する
  3. ディレクトリ内にあるファイルのモードを表示する
  4. ディレクトリ内にあるファイルの変更日を表示する
  5. ディレクトリ内にあるのがファイルかディレクトリかを調べる

ZIP/圧縮・解凍

  1. ZIPファイルに保存されているファイルの総数を求める
  2. ZIPファイルに保存されているファイルの名前を求める
  3. ZIPファイルに保存されている全てのファイル名を求める
  4. ZIPファイル内にあるファイルのフラグを表示する
  5. ZIPファイル内にあるファイルの圧縮前と圧縮後のファイルサイズを表示する
  6. ZIPファイル内にある全てのファイルの修正日を表示する
  7. ZIPファイル内にある全てのファイルのモード(パーミッション等)を表示する
  8. ZIPファイル内にあるのがディレクトリかファイルかを調べる

通信/Webサーバー/ネットワーク

  1. Webサーバーと通信しステータスを表示する
  2. Webサーバーと通信しステータスコードを表示する
  3. Webサーバーと通信しHTTPのプロトコル情報を表示する
  4. Webサーバーと通信しHTTPのプロトコルのメジャーバージョンを表示する
  5. Webサーバーと通信しHTTPのプロトコルのマイナーバージョンを表示する
  6. Webサーバーと通信しヘッダー情報を表示する
  7. Webサーバーと通信しContentLength情報を表示する
  8. Webサーバーと通信しデータ本体を表示する

パッケージ

  1. パッケージを読み込む(パッケージをインポートする)
  2. 複数のパッケージを読み込む(複数のパッケージをインポートする)
  3. パッケージを別名で使えるようにする(1)
  4. パッケージを別名で使えるようにする(2)

fmtパッケージ

  1. [fmt] 文字を出力する/改行付きで出力する
  2. [fmt] 変数の型に自動的に合わせて出力する
  3. [fmt] 構造体のフィールド名も出力する
  4. [fmt] 整数型の変数の値を出力する
  5. [fmt] 整数型の変数の値を2進数で出力する
  6. [fmt] 整数型の変数の値を8進数で出力する
  7. [fmt] 整数型の変数の値を16進数で出力する
  8. [fmt] 整数型の変数の値をUnicode文字として出力する
  9. [fmt] 整数型の変数の値をUnicode形式で出力する
  10. [fmt] 浮動小数型の変数の値を出力する
  11. [fmt] 文字型の変数の内容を出力する
  12. [fmt] 文字型の変数の内容をGo言語の構文に従って出力する
  13. [fmt] 文字型の変数の内容(文字列)を16進数(文字コード)で出力する
  14. [fmt] 変数の内容をフォーマットして文字列で出力する (Sprint)
  15. [fmt] 変数の内容をフォーマットして文字列と改行コードで出力する (Sprintln)
  16. [fmt] 変数の内容をフォーマットして文字列で出力する (Sprintf)

timeパッケージ

  1. [time] 現在の年月日(日付)を取得する
  2. [time] 現在の時刻を取得する
  3. [time] 現在の曜日を取得する

mathパッケージ

  1. [math] eの値を示す
  2. [math] Φ(φ, Phi)の値を示す
  3. [math] π(円周率)の値を示す
  4. [math] 2の平方根の値を示す
  5. [math] eの平方根の値を示す
  6. [math] Φ(φ, Phi)の平方根の値を示す
  7. [math] 2の自然対数の値を示す
  8. [math] 10の自然対数の値を示す
  9. [math] 32ビット浮動小数値として扱える最大値を示す
  10. [math] 64ビット浮動小数値として扱える最大値を示す
  11. [math] 32ビット浮動小数値として扱える最小値を示す
  12. [math] 64ビット浮動小数値として扱える最小値を示す
  13. [math] 絶対値を返す (Abs)
  14. [math] 逆余弦(アークコサイン)を求める (Acos)
  15. [math] 双曲線逆余弦を求める (Acosh)
  16. [math] 逆余弦(アークサイン)を求める (Asin)
  17. [math] 双曲線逆正弦を求める (Asinh)
  18. [math] 逆正接(アークタンジェント)を求める (Atan)
  19. [math] XY座標から角度を求める (Atan2)
  20. [math] 双曲線逆正接を求める (Atanh)
  21. [math] 立方根を求める (Cbrt)
  22. [math] 小数点以下を切り上げる (Ceil)
  23. [math] 値の符号を設定する (Copysign)
  24. [math] コサイン(余弦)を求める (Cos)
  25. [math] 双曲線余弦(ハイパボリックコサイン)を求める (Cosh)
  26. [math] 2つの値を減算し0か0より大きい値を返す (Dim)
  27. [math] 誤差関数での結果を返す (Erf)
  28. [math] 相補誤差関数での結果を返す (Erfc)
  29. [math] eのn乗を返す (Exp)
  30. [math] 2のn乗を返す (Exp2)
  31. [math] eのn-1乗を返す (Expm1)
  32. [math] float32形式をuint32形式に変換する (Float32bits)
  33. [math] IEEE754形式のバイナリデータをfloat32形式に変換する (Float32frombits)
  34. [math] float64形式をuint64形式に変換する (Float64bits)
  35. [math] uint64形式をfloat64形式に変換する (Float64frombits)
  36. [math] 小数点以下を切り捨てる (Floor)
  37. [math] 値を小数と2の累乗である整数に分割する (Frexp)
  38. [math] γ(ガンマ)値を求める (Gamma)
  39. [math] 2つの値のうち大きい方を返す (Max)
  40. [math] 2つの値のうち小さい方を返す (Min)
  41. [math] 剰余(割り算の余り)を求める (Mod)
  42. [math] 符号あり8ビット最大値を示す (MaxInt8)
  43. [math] 符号あり16ビット最大値を示す (MaxInt16)
  44. [math] 符号あり32ビット最大値を示す (MaxInt32)
  45. [math] 符号あり64ビット最大値を示す (MaxInt64)
  46. [math] 符号なし8ビット最大値を示す (MaxUint8)
  47. [math] 符号なし16ビット最大値を示す (MaxUint16)
  48. [math] 符号なし32ビット最大値を示す (MaxUint32)
  49. [math] 符号なし64ビット最大値を示す (MaxUint64)
  50. [math] 符号あり8ビット最小値を示す (MinInt8)
  51. [math] 符号あり16ビット最小値を示す (MinInt16)
  52. [math] 符号あり32ビット最小値を示す (MinInt32)
  53. [math] 符号あり64ビット最小値を示す (MinInt64)

math/randパッケージ

  1. [math/rand] 正の整数の乱数値を求める(Int)
  2. [math/rand] 0から指定値までの整数の乱数値を求める(Intn)

math/bigパッケージ

  1. [math/big] 整数値をセットする
  2. [math/big] 絶対値を求める
  3. [math/big] 2つの値を加算する
  4. [math/big] 値の論理積(And)をとる
  5. [math/big] 値の論理積と否定(AndNot)をとる
  6. [math/big] 二項係数を求める(Binomial)
  7. [math/big] 指定した位置のビット値を返す(Bit)
  8. [math/big] 値のビット長を求める(BitLen)
  9. [math/big] ?(Bits)
  10. [math/big] ?(Bytes)
  11. [math/big] 2つの値を比較し-1,0,1のいずれかを返す(Cmp)
  12. [math/big] 割り算を行う(Div)
  13. [math/big] 割り算を行い商と余りを求める(DivMod)
  14. [math/big] べき乗を求める(Exp)

os/execパッケージ

  1. [os/exec] UNIXコマンドのls -laを実行する(ディレクトリ一覧を表示する)

encoding/base64パッケージ

  1. [encoding/base64] 文字列をBase64形式に変換(エンコード)する (EncodeToString)
  2. [encoding/base64] Base64形式を変換(デコード)する (DecodeString)

encoding/jsonパッケージ

  1. [encoding/json] 変数のデータをJSON形式に変換する
  2. [encoding/json] 配列変数のデータをJSON形式に変換する

htmlパッケージ

  1. [html] HTMLテキスト内の文字を実体参照に変換する
  2. [html] HTMLテキスト内の実体参照を復元し通常の文字に変換する

path/filepathパッケージ

  1. [path/filepath] パスの区切り文字を求める(Separator)
  2. [path/filepath] パスリストの区切り文字を求める(ListSeparator)
  3. [path/filepath] 絶対パスを求める(Abs)
  4. [path/filepath] パスの区切り記号でファイルパスを分割した際の最後のファイル/フォルダ名を求める(Base)
  5. [path/filepath] パス文字列を正規化する(Clean)
  6. [path/filepath] パス文字列からディレクトリパスだけを抽出する(Dir)
  7. [path/filepath] パス文字列からファイルの拡張子を抜き出す(Ext)
  8. [path/filepath] パスが絶対パスかどうか調べる(IsAbs)
  9. [path/filepath] パス文字列からディレクトリ名とファイル名を取り出す(Split)
  10. [path/filepath] 基準パスからの相対パスを求める(Rel)

Go言語関連リンク

  1. The Go programming Language (Google公式サイト)
  2. golang.jp
  3. A Tour of Go
  4. 周回遅れのGo言語
  5. Go言語でzipファイル解凍
  6. Goのパッケージ作成、インストール先の指定、テストコードの作り方が5分程度で把握できて良い
  7. Go言語でWebAppの開発に必要なN個のこと

Go言語関連の書籍

  1. 基礎からわかる Go言語[2013年7月時点では買って損しない本。本サイトでも参考にしてます]