Golangやってみよう
 Golang Overview ~  Develop Environment ~  Hello World! 
Golang Overview
Googleが開発しているオープンソースのコンパイラ言語
Cに匹敵する実行速度(コンパイルも早い)
LL言語のようなシンプルな記述
並行処理が比較的容易に書ける
標準ライブラリが豊富
ビルドすると実行環境を含んだバイナリができる
Web APIやコマンドラインツールに向いてるかな
A Tour of Goで基本文法は学べる
Golangの採用事例
Google
Docker
Dropbox
Wantedly
CyberAgent
Gunosy
Hatena
LIG
Intelligence
DeNA
Develop Environment
Install
Mac
$ brew install go
Windows
https://golang.org/dl/
Develop Environment
Install confirm
$ go version
Develop Environment
パスの設定
$ mkdir ~/go
$ mkdir ~/go/bin
$ export GOPATH=$HOME/go
$ export PATH=$GOPATH/bin:$PATH
※GOPATHの設定箇所は諸説あり
Develop Environment
Editor
Visual Studio Code
Intellij IDEA
Atom
Sublime Text
Vim
※個人的な好みです
Develop Environment
Go for Visual Studio Code
Develop Environment
Go for Visual Studio Code
プラグインをインストールすると go get で開発に必要なツールを
自動で落としてくれる
$ ls $GOPATH/bin
※Windowsの場合はVSCodeの設定ファイルに以下の記述が必要か
もしれません
{
"go.gopath": "C:Usersuser_namego",
"go.goroot": "C:go"
}
Hello World!
CLI
$ mkdir $GOPATH/src # Goの開発コードは全てこの下に配置する
$ mkdir $GOPATH/src/hello
$ touch $GOPATH/src/hello/main.go
Hello World!
CLI
main.go
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
Hello World!
CLI
run
$ go run main.go
Hello World!
Web
main.go
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter,
r *http.Request) {
fmt.Fprint(w, "Hello World!")
})
http.ListenAndServe(":8080", nil)
}
Hello World!
Web
run
$ go run main.go # http://localhost:8080

Golang handson