#参考元
Markdown記法 チートシート
Markdown記法 サンプル集
Qiita Markdown 書き方 まとめ
qiitaに書くのは初めてなのでMarkdown記法もついでに学習。
はじめてのGo
#Go言語の特徴
- 2009年にGoogleにより発表されたオープンソースのプログラミング言語
- シンプルな言語仕様であるため学習が比較的容易
- 豊富な標準パッケージが同梱されている
- 巨大なコードでも高速にコンパイルできる
- Windows,OS X,Linuxなどの環境に合わせた実行ファイルを生成するクロスコンパイルのしくみがある
- 並行処理のサポートも充実しており,ミドルウェアの開発などにも適している
#言語仕様について
- 他の言語が持つような機能の多くを削り、言語をシンプルに保っている
- 繰り返し構文はfor文しかなく,while文やdo/while文などはサポートされていない
- ifの波括弧は省略できず,三項演算子もない
- ポインタなし
- 暗黙の型変換なし
- 宣言されたものの使われていない変数があるとコンパイルが通らない
- 例外(try/catch構文)がない。発生した異常を戻り値として呼び出し側に返す方針
#インストール
はじめてのGoに従って進めていきます。
インストーラ
msiファイルをダウンロード→実行。
全部デフォルトでOK。
コマンドでver確認。
$ go version
go version go1.15.6 windows/amd64
#hello world
hello.goを作成。
環境はとりあえずVSCODE。
package main
import (
"fmt"
)
func main() {
fmt.Println("hello world")
}
作成したフォルダにcdして実行。
$ go run hello.go
hello world
helloされた。
#コンパイル
go build
でコンパイル。
exeファイルができる。
$ go build hello.go
#フォーマット
go fmt
でフォーマット。
Goでは,標準のコーディング規約があるのでそれに従ってフォーマットされる。
半角スペース派とタブ派の永遠の争いはgoでは起きない。
$ go fnt hello.go
#Goのプロジェクト構成とパッケージ
共通のファイルを使用するためにはGOPATH以下にファイルがないと認識されない。
まず,myprojectディレクトリを起点に,次のようにbin,pkg,srcという3つのディレクトリを作成します。
次に,myprojectディレクトリのパスをGOPATHという環境変数に指定します。
とあるがインストール時に環境変数がユーザ\go以下に設定されているので
それをそのまま使うことにする。環境変数変更するのはなんかやだし。
#gosampleパッケージ
ユーザ\go\src\gosample\gosample.goを作成する。
package gosample
var Message string = "hello world"
#mainパッケージ
任意の場所(自分はgithub管理フォルダ)/myproject\src\main/main.goを作成する。
package main
import (
"fmt"
"gosample"
)
func main() {
fmt.Println(gosample.Message) // hello world
}
#ビルドと実行
$ cd myproject\src\main
$ go run main.go
go install
コマンドを用いると,生成されたファイルが$GOPATH/binに自動的に格納される。
$ cd ユーザ\go\src\main
$ go install
ここまでの成果物は以下にUP。
https://github.com/yusuke-nomura-cosmoroot/GoStudy