Edited at

Cloud9にGo言語でHelloWorldを実装・実行してみた

More than 1 year has passed since last update.


背景

Go言語勉強用の環境が欲しくて、Cloud9の環境を検証してみました。

せっかくなのでまとめておきます。


1.Cloud9にWorkspaceの作成

テンプレートは「Blank」で作成。

2016/11/16時点での最新バージョンのGo言語がインストール済みでした。

$ go version

go version go1.7.3 linux/amd64


2.HelloWorldを実装

以下のコードをhello.goとして保存。

拡張子をgoで保存すると、エディタがGo言語向けに切り替わります。

package main

import "fmt"

func main() {
fmt.Print("hello, golang.")
}


3.実行

hello.goを開いた状態で、Cloud9のツールバーから実行。

Run > Run With > Go

image

実行タブが表示されて、こんな感じで実行できます。

次からは「Run」ボタンを押せばOK。


4.ブラウザにHelloWorldを実装

コードを以下に変更。

package main

import "fmt"
import "net/http"
import "os"

func viewHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "hello,golang.")
}

func main() {
http.HandleFunc("/", viewHandler)
http.ListenAndServe(os.Getenv("IP")+":"+os.Getenv("PORT"), nil)
}

Cloud9でサーバーアプリを実行する場合は、IP:0.0.0.0/ポート:8080を指定する必要があるようです。

https://docs.c9.io/docs/run-an-application

http.ListenAndServe("0.0.0.0:8080", nil)

と実装しても動くのですが、せっかくなので環境変数を使って実装しました。

http.ListenAndServe(os.Getenv("IP")+":"+os.Getenv("PORT"), nil)


5.実行

image

ブラウザに表示させることができました。


6.コード補完

まだ正式リリースではないですが、Go言語のコード補完も利用できました。

Cloud9 > Preferences > Experimental > Go Code Completion

で補完機能をONにすることができます。

※注意

ONにしただけでは機能が有効になりません。

一度タブを閉じて再度Workspaceを開き直すと有効になりました。

image

ここまでできれば、学習に利用することができそうです。