じゃあ、おうちで学べる

本能を呼び覚ますこのコードに、君は抗えるか

ConoHa WING にGolangを入れてbuild環境を作る.

Golangのダウンロード

$ wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz

Goのインストール

$ tar vzfx go1.9.linux-amd64.tar.gz
$ mkdir $HOME/bin
$cp go/bin/go* $HOME/bin

Golang の設定と確認

$ export GOPATH="$HOME/go"
$ export PATH="$GOPATH/bin:$PATH"
$ go version
go version go1.9 linux/amd64
$ echo $GOPATH
/home/*******/go

Golang 実行する

初手のやつをやっていきます

$vim hello.go
package main
import (
   "fmt"
)

func main(){
    fmt.Println("Hello, world!");
}

go run

runでコンパイルと実行をまとめて実行します

$ go run hello.go
fork/exec /tmp/go-build******/command-line-arguments/_obj/exe/hello: permission denied

はい,permission denied って怒られます.共有ホスティングだとアクセスができないファイルが多いのでよく稀にあります.なので一時ファイルを変更して実行させます.

export TMPDIR=$HOME/tmp
$ go run hello.go
Hello, world!

はい,できました.

go build

Build だけなら余裕やな

$ go build hello.go
$ ls
hello  hello.go
$ ./hello
Hello, world!

他にもレンタルサーバー特有の問題にぶつかることも多いと思いますが楽しんでやっていきましょう.

参考

実践Go言語 - golang.jp
Go - 【Go】結局、$GOPATHと$GOROOTはどこに設定すればいいの?|teratail
cmd/go: Don't put executables in TMPDIR · Issue #8451 · golang/go · GitHub