概要

  • 言語機能や文法などの要素を極限まで削ったコンパクトなプログラミング言語
  • 改良されたC
    • 厳密に定義された多数の基本型
    • パッケージによる名前空間の導入
    • ガベージコレクタによるメモリ管理
  • コンパイル言語
  • コンパイル速度が速い ... コードの修正→テスト実行のサイクルを快適に回すことに貢献
  • マルチプラットフォームで動作
  • OSへの非依存
    • OSの標準的なライブラリに依存しない実行ファイルを生成
    • OSが提供する共有ライブラリを使わない代わりに、自前で相当する機能をすべて保持する必要があるため、実行ファイルサイズは大きくなる
  • ガーベジコレクタ機能を備える
  • 並行処理に強い
    • goroutine
    • channel
  • ポインタ型はあるが、ポインタ演算機能はない
  • 簡潔性を目指して、以下の機能を外した
    • オブジェクト指向
    • 例外機構
    • ジェネリクス

環境構築

オンライン

Windows

Chrome OS

基本設定

GOPATHの設定

export GOPATH=$(go env GOPATH)
export PATH=$GOPATH/bin:$PATH

ツール

gore, gocode, pp

$ go get github.com/motemen/gore/cmd/gore
$ go get github.com/mdempsky/gocode
$ go get github.com/k0kubun/pp

ghq

goimports

$ go get golang.org/x/tools/cmd/goimports

golint

  • 静的解析ツール
$ go get golang.org/x/lint/golint

gox

  • クロスコンパイルツール
$ go get github.com/mitchellh/gox

フレームワーク

Revel


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-04 (水) 21:29:42 (8d)