golang

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
golang [2019/09/17 12:17] – 作成 ともやんgolang [2019/09/17 20:49] ともやん
行 13: 行 13:
       min-width: 200px;       min-width: 200px;
       overflow:hidden;       overflow:hidden;
 +    }
 +    #clearfix:after {
 +      content: "";
 +      display: block;
 +      height: 0;
 +      visibility: hidden;
 +      clear: both;
 +    }
 +    #clearfix {
 +      display: inline-table;
 +    }
 +    /* Hides from IE-mac \*/
 +    * html #clearfix {
 +      height: 1%;
 +    }
 +    #clearfix {
 +      display: block;
     }     }
   </style>   </style>
 </html> </html>
 ====== Go 関連 ====== ====== Go 関連 ======
-<WRAP multi-columns>+本家: [[https://golang.org/|The Go Programming Language]]\\ 
 +ソースコード: [[https://github.com/golang/go|golang/go: The Go programming language]]\\ 
 +<WRAP multi-columns #clearfix>
 <WRAP left #go-logo> <WRAP left #go-logo>
 {{:golang:golang_logo.png|Go Logo}}\\ {{:golang:golang_logo.png|Go Logo}}\\
行 25: 行 44:
 \\ \\
 また、軽量スレッディングのための機能、Python のような動的型付け言語のようなプログラミングの容易性、などの特徴もある。Go 処理系としてはコンパイラのみが開発されている。マスコット・キャラクターは Gopher (ホリネズミ)。\\ また、軽量スレッディングのための機能、Python のような動的型付け言語のようなプログラミングの容易性、などの特徴もある。Go 処理系としてはコンパイラのみが開発されている。マスコット・キャラクターは Gopher (ホリネズミ)。\\
 +[[https://ja.wikipedia.org/wiki/Go_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)|Go (プログラミング言語) - Wikipedia]] より\\
 </WRAP> </WRAP>
 </WRAP> </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 環境変数を設定する。\\
 +<code>
 +$ mkdir -p ~/go
 +$ echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
 +$ source ~/.bashrc
 +$ go env GOPATH
 +/home/tomoyan/go
 +</code>
 +
 +===== プログラムの作成 =====
 +Go でプログラムを作成するには、$GOPATH/src サブディレクトリに .go 拡張子を持つファイルを作成する。\\
 +<code>
 +$ mkdir -p $GOPATH/src/hello && cd $GOPATH/src/hello
 +$ vi hello.go
 +</code>
 +<code go hello.go>
 +package main
 +
 +import "fmt"
 +
 +func main() {
 +    fmt.Println("Hello, World!")
 +}
 +</code>
 +
 +変更を保存し、同じディレクトリで hello.go を実行する。\\
 +<code>
 +$ go run hello.go
 +Hello, World!
 +</code>
 +
 +hello.go をビルドするは簡単である。\\
 +<code>
 +$ go build
 +$ ls
 +hello  hello.go
 +$ ./hello
 +Hello, World!
 +</code>
 +
 +さらに **go install** で **$GOPATH/bin** にインストールされる。 \\
 +<code>
 +$ go install
 +$ ls $GOPATH/bin
 +hello
 +</code>
 +また、**$GOPATH/pkg** のすべての依存関係を構築およびキャッシュする。\\
 +
 +プログラムは **$GOPATH/bin** にインストールされるため、一般的には PATH 環境変数に追加して、フルパスを指定せずに Go プログラムを実行できるようにする。\\
 +<code>
 +$ echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bashrc
 +$ source ~/.bashrc
 +$ hello
 +Hello, World!
 +</code>
 +
 +===== Go パッケージのインストール =====
 +
 +==== アップストリームの Go パッケージ ====
 +アップストリームプロジェクトは **go get** コマンドでインストールできる。\\
 +<code>
 +$ go get github.com/gorilla/context
 +</code>
 +ゴ、ゴリラ? (gorilla)...\\
 +
 +
 +
 +===== 参考文献 =====
 +[[https://developer.fedoraproject.org/tech/languages/go/go-installation.html|Go — Fedora Developer Portal]]\\
 +[[https://developer.fedoraproject.org/tech/languages/go/go-programs.html|Writing Go programs — Fedora Developer Portal]]\\