SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

EclipseでGoプログラミング! GoClipseのインストールとGojiフレームワークを使ったWeb APIの作成

  • X ポスト
  • このエントリーをはてなブックマークに追加

GoClipseでGoのコードを実行してみる

 ウォーミングアップのために「Hello, World!」アプリケーションを作ってみましょう。

 プロジェクトに初めから準備されている「src」フォルダの下に、「hello」フォルダを追加します。さらに、このhelloフォルダにGoのファイル「main.go」を作成し、次のコードを入力して保存します。

package main 

import "fmt"

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

 

 ファイルの保存と同時にビルドが実行されます。成功すると、「bin」フォルダの中に「hello.exe」が生成されます。

「bin」フォルダの中に「hello.exe」が生成された
「bin」フォルダの中に「hello.exe」が生成された

 

 Goプログラムでは、package main の中の func main() が実行の開始位置になります。その本体が記述されたファイル名は任意のもので問題ありませんが、そのファイルが格納されているフォルダ名が「hello.exe」のように実行ファイルの名前になります。

 この動作はGoにおけるビルドの標準仕様ではなく、「GoClipse」におけるビルドの仕様です。

 

 プログラムを実行するには、[Run]メニューから[Run]を選択するか[Ctrl]+[F11]キーを押下します。

「Hello World!」アプリケーションを実行
「Hello World!」アプリケーションを実行

 

 コンソール内に「Hello, World!」が出力されれば成功です。

 

Gocodeの導入

 Eclipse環境でGoを実行する基盤ができ上がりましたが、ここまでの設定ではオートコンプリート([Ctrl]+[Space]キーを押下して変数名や関数名を補完できる)機能が動作しません。これではせっかくIDEを使ってGoプログラムが書けるようになっても、嬉しさは半減ですね。

 そこで「Gocode」という、それ自身もGoで書かれたオートコンプリート機能を導入します。コマンドプロンプトを開いて go get コマンドを下記のように実行します。

C:¥> go get -u github.com/nsf/gocode

 

 特に何もメッセージが表示されなければ成功です。go get コマンドでインストールした機能やパッケージは、環境変数 GOPATH で指定したフォルダの下に保存されます。エラーなどが発生する場合は環境変数 GOPATH の設定と、そのフォルダが正しい位置に存在するかを確認してください。

GOPATH内のgocode
GOPATH内のgocode

 

 環境変数 GOPATH で指定されたフォルダの中にあるsrcフォルダにGoのソースコード一式が、またbinフォルダの中にgocode.exeが生成されていることが確認できます。

 次にEclipseに戻ってGocodeを設定します。[Window]メニューの[Preferences]で設定画面を開き、[Go]→[Gocode]で「gocode.exe」へのファイルパスを設定します。

EclipseのGocode設定
EclipseのGocode設定

 

 先ほどのコードに戻って、オートコンプリート機能が動作するか確認してみましょう。

Gocodeのオートコンプリート
Gocodeのオートコンプリート

 

 「fmt」に続けて「.」と打ち込むと、fmt パッケージで使用できる関数の候補が一覧として表示されるようになりました。また、任意の場所で[Ctrl]+[Space]キーを押下すれば、ローカル変数なども含めた補完候補が表示されるようになります。

次のページ
GojiによるWebアプリケーションの作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

松尾 愛賀(マツオ アイガ)

株式会社ラクーンの技術戦略部で働くエンジニアです。主に新事業系の技術基盤などを担当してます。RubyとGoとAWSとDebian系ディストロが好み。・株式会社ラクーン技術ブログ:http://techblog.raccoon.ne.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8374 2015/01/09 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング