Go言語基礎 その1 Go言語入門

はじめに

Go 言語について本を読んだり調べたことをまとめておきたいと思います。

Go 言語とは

  • 2009 年に公開された、Google が開発した新しいプログラミング言語

特徴

  • シンプルな文法、強い型付け
  • メモリ安全性が高い(GC を備えている)
  • ゴルーチンやチャネルなどの並行プログラミングをサポート
  • 豊富な標準ライブラリ
  • コンパイル、実行が比較的高速
  • 単独の実行ファイルのみで独立して動作する(シングルバイナリ)
  • 開発環境とは異なる OS やアーキテクチャ向けのバイナリを生成できる(クロスコンパイル機能)

Go の領域

  • Web アプリケーション (API, HTML サーバー)
  • CLI ツール
  • 組み込み、IoT 向け

他にもゲームやアプリなどいろいろ

はじめての Go 言語

Web 上で Go のコードを実行できる

Go Playground - The Go Programming Language から Web 上で下記のサンプルコードを実行できる

package main

import "fmt"

func main() {
	fmt.Println("Hello, 世界")
}

パッケージ (package)

package main
  • Go では変数や関数といったプログラムのすべての要素は何らかのパッケージに属する Go 言語仕様
  • そのため、必然的にプログラムはパッケージの宣言から始まる
  • 1 つのファイルに記述できるのは単一のパッケージのみ
  • Go のプログラムのエントリーポイントは main パッケージの中に定義された main 関数であると定められている Go 言語仕様
  • パッケージには主に以下の 3 種類
    • main パッケージ プログラム実行時に、一番最初に初期化され、main 関数を呼び出す
    • 標準パッケージ
    • サードパーティのパッケージ

パッケージのインポート (import)

import "fmt"
  • ファイル内のプログラムで使用するパッケージを import 宣言で指定する Go 言語仕様
  • 特に必要なパッケージがなければ import 宣言は省略することも可能
  • 不要なパッケージを import したままにするとコンパイルエラー (imported and not used: "package_name") になる
  • 上記のサンプルでは標準パッケージの fmt パッケージ を import

コードに関して

func main() {
	fmt.Println("Hello, 世界")
}
  • main 関数内で fmt パッケージの fmt.Println 関数を呼び出している
  • fmt.Println 関数は標準出力に文字列を改行付きで出力

実行結果

Hello, 世界

Go 言語を学ぶには

参考にした本

おわりに

こんな感じでざっくり Go 言語をまとめてみました。
次回は go コマンドを復習したいと思います。