差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン 次のリビジョン両方とも次のリビジョン | ||
golang [2019/09/17 12:17] – 作成 ともやん | golang [2021/03/27 15:13] – [参考文献] ともやん | ||
---|---|---|---|
行 13: | 行 13: | ||
min-width: 200px; | min-width: 200px; | ||
overflow: | overflow: | ||
+ | } | ||
+ | # | ||
+ | content: ""; | ||
+ | display: block; | ||
+ | height: 0; | ||
+ | visibility: hidden; | ||
+ | clear: both; | ||
+ | } | ||
+ | #clearfix { | ||
+ | display: inline-table; | ||
+ | } | ||
+ | /* Hides from IE-mac \*/ | ||
+ | * html #clearfix { | ||
+ | height: 1%; | ||
+ | } | ||
+ | #clearfix { | ||
+ | display: block; | ||
} | } | ||
</ | </ | ||
</ | </ | ||
====== Go 関連 ====== | ====== Go 関連 ====== | ||
- | <WRAP multi-columns> | + | 本家: [[https:// |
- | <WRAP left # | + | ソースコード: |
+ | <WRAP multi-columns | ||
+ | <WRAP left column | ||
{{: | {{: | ||
</ | </ | ||
- | <WRAP #desc> | ||
Go はプログラミング言語の 1 つである。(コンパイラー言語) 2009 年、Google で Robert Griesemer、ロブ・パイク、ケン・トンプソンによって設計された。Go は、静的型付け、C言語の伝統に則ったコンパイル言語、メモリ安全性、ガベージコレクション、構造的型付け、CSP スタイルの並行性などの特徴を持つ。Go のコンパイラ、ツール、およびソースコードは、すべてフリーかつオープンソースである。\\ | Go はプログラミング言語の 1 つである。(コンパイラー言語) 2009 年、Google で Robert Griesemer、ロブ・パイク、ケン・トンプソンによって設計された。Go は、静的型付け、C言語の伝統に則ったコンパイル言語、メモリ安全性、ガベージコレクション、構造的型付け、CSP スタイルの並行性などの特徴を持つ。Go のコンパイラ、ツール、およびソースコードは、すべてフリーかつオープンソースである。\\ | ||
\\ | \\ | ||
また、軽量スレッディングのための機能、Python のような動的型付け言語のようなプログラミングの容易性、などの特徴もある。Go 処理系としてはコンパイラのみが開発されている。マスコット・キャラクターは Gopher (ホリネズミ)。\\ | また、軽量スレッディングのための機能、Python のような動的型付け言語のようなプログラミングの容易性、などの特徴もある。Go 処理系としてはコンパイラのみが開発されている。マスコット・キャラクターは Gopher (ホリネズミ)。\\ | ||
+ | [[https:// | ||
</ | </ | ||
- | </WRAP> | + | |
+ | ===== インストール ===== | ||
+ | Fedora では最新版の Go がインストールされる。\\ | ||
+ | 2019/09/17 現在の Go の最新バージョンは v1.12.9 である。\\ | ||
+ | Fedora Linux on WSL 2\\ | ||
+ | <code> | ||
+ | $ sudo dnf install golang | ||
+ | $ go version | ||
+ | go version go1.12.9 linux/amd64 | ||
+ | </code> | ||
+ | |||
+ | GOPATH 環境変数を設定する。\\ | ||
+ | < | ||
+ | $ mkdir -p ~/go | ||
+ | $ echo ' | ||
+ | $ source ~/.bashrc | ||
+ | $ go env GOPATH | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ===== プログラムの作成 ===== | ||
+ | Go でプログラムを作成するには、$GOPATH/ | ||
+ | < | ||
+ | $ mkdir -p $GOPATH/ | ||
+ | $ vi hello.go | ||
+ | </ | ||
+ | <code go hello.go> | ||
+ | package main | ||
+ | |||
+ | import " | ||
+ | |||
+ | func main() { | ||
+ | fmt.Println(" | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 変更を保存し、同じディレクトリで hello.go を実行する。\\ | ||
+ | < | ||
+ | $ go run hello.go | ||
+ | Hello, World! | ||
+ | </ | ||
+ | |||
+ | hello.go をビルドするは簡単である。\\ | ||
+ | < | ||
+ | $ go build | ||
+ | $ ls | ||
+ | hello hello.go | ||
+ | $ ./hello | ||
+ | Hello, World! | ||
+ | </ | ||
+ | |||
+ | さらに **go install** で **$GOPATH/ | ||
+ | < | ||
+ | $ go install | ||
+ | $ ls $GOPATH/ | ||
+ | hello | ||
+ | </ | ||
+ | また、**$GOPATH/ | ||
+ | |||
+ | プログラムは **$GOPATH/ | ||
+ | < | ||
+ | $ echo ' | ||
+ | $ source ~/.bashrc | ||
+ | $ hello | ||
+ | Hello, World! | ||
+ | </ | ||
+ | |||
+ | ===== Go パッケージのインストール ===== | ||
+ | |||
+ | ==== アップストリームの Go パッケージ ==== | ||
+ | アップストリームプロジェクトは **go get** コマンドでインストールできる。\\ | ||
+ | < | ||
+ | $ go get github.com/ | ||
+ | </ | ||
+ | ゴ、ゴリラ? | ||
+ | |||
+ | |||
+ | |||
+ | ===== 参考文献 ===== | ||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | **Grumpy**\\ | ||
+ | [[https:// | ||
+ | [[https:// | ||
+ | [[https:// | ||
+ | |||
+ | ==== 付録 ==== | ||
+ | [[tw> | ||