LoginSignup
6
6

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-11-16

背景

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

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

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6