LoginSignup
7
8

More than 5 years have passed since last update.

Windows + Golang ことはじめ

Last updated at Posted at 2015-10-21

個人的な事情により Golang を触ってみようと思いましたので、その備忘録として残しておきます.
とりあえず、Mac や Linux/Unix ではなく、Windows でやってみようと思います.12

これから「Windows + Golang」やってみたいなぁ、と思っている方々の一助になれば幸い.

何を参考に進めるか

とりあえずこれでいきます。公式強し!
http://golang-jp.org/doc/code.html

前提環境

  • Golang (go version go1.5.2 windows/amd64) インストール済み (無い場合はここからインストールしましょう.
  • Go は C:\Go にインストールされている. 以下、C:\Go 以下のディレクトリ構成 (DIR C:\Go の表示結果) です. (色々伏せてますが)

 ドライブ C のボリューム ラベルは hogehoge です
 ボリューム シリアル番号は hoge-hoge です

 C:\Go のディレクトリ

 2015/mm/dd  hh:ii              .
 2015/mm/dd  hh:ii              ..
 2015/mm/dd  hh:ii              api
 2015/mm/dd  hh:ii            21,146 AUTHORS
 2015/mm/dd  hh:ii              bin
 2015/mm/dd  hh:ii              blog
 2015/mm/dd  hh:ii             1,107 CONTRIBUTING.md
 2015/mm/dd  hh:ii            28,953 CONTRIBUTORS
 2015/mm/dd  hh:ii              doc
 2015/mm/dd  hh:ii             1,150 favicon.ico
 2015/mm/dd  hh:ii              lib
 2015/mm/dd  hh:ii             1,479 LICENSE
 2015/mm/dd  hh:ii              misc
 2015/mm/dd  hh:ii             1,303 PATENTS
 2015/mm/dd  hh:ii              pkg
 2015/mm/dd  hh:ii             1,519 README.md
 2015/mm/dd  hh:ii                26 robots.txt
 2015/mm/dd  hh:ii              src
 2015/mm/dd  hh:ii              test
 2015/mm/dd  hh:ii                 7 VERSION
                9 個のファイル              56,690 バイト
               11 個のディレクトリ  xxx,xxx,xxx,xxx,xxx バイトの空き領域

Windows の環境変数を変更する

GOROOT は C:\Go\
GOPATH は C:\go-workspace

とします.
go-workspace に関しては好きな名前で好きな場所に作って頂いて構いません.

Go で開発するときのフォルダ構成

参考ページのパッケージパスにあたります.

いつの日にか公開することを見越してコードを構成することはよい行いです。

THAT'S RIGHTTTT!

公開しなくたって、ライブラリをインポートする際に他と名前空間が被ってしまうわけにはいかないので、できるだけ公開できるような形で構成していきましょう!

というわけで、ここではひとまず Github の形式を採用します.
まずフォルダを掘ります.
{user_name} のところはお好きにどうぞ.

mkdir "%GOPATH%\src\github.com\{user_name}"

次に、パッケージフォルダ (パッケージディレクトリ) を作ります.
これはユーザ名の下に来るパッケージ名となります.
これも好きな名前で大丈夫です.

mkdir "%GOPATH%\src\github.com\{user_name}\{package_name}"

更に今作ったフォルダの中にさっそく Go でプログラムを書いてみます.
ファイル名も何でもいいですが、説明するためにここでは hello.go とします.

hello.go
package main

import "fmt"

func main() {
    fmt.Printf("Hello, world.\n")
}

さて、現在のフォルダをまとめるとこんな感じになります.


C:\
 └─go-workspace
    ├─bin
    ├─pkg
    └─src
      └─github.com
        └─{user_name}
          └─{package_name}
            └─hello.go

それでは、実際に hello.go をコンパイルしてみましょう.

cd %GOPATH%\src
go install github.com\{user_name}\{package_name}

または

cd %GOPATH%\src\github.com\{user_name}\{package_name}
go install

そうすると、コマンドプロンプトには何も表示されずに終了します.
何も表示されないので不安かもしれませんが、これが成功の合図です.
ここで何か出力されてしまった場合はエラーですので、グーグル先生に相談してみましょう.

ちなみに私は

go install: no install location for .go files listed on command line (GOBIN not set)

と出てきて焦ったのですが、go install コマンドに go ファイルのファイルパスを渡してしまい、怒られてしまったのでした….
go install github.com\t_shirone\test\hogehoge.go みたいな.
正しくは go install github.com\t_shirone\test で、Go のファイル名は含めません.
go install のしていることを考えれば当たり前なのですが(笑

さて、go install が終わると C:\go-workspace\bin にはパッケージ名で実行ファイルが作られています.

%GOPATH%\bin\{package_name}.exe

これで、先程 go install したものを実行できるはずです.
一旦ここまで.

それでは良きエンジニアライフを(^w^)ノシ


  1. みなさん参考記事がシャレオツな Mac ばっかりなんですもん… 

  2. なんだよ brew って、EZアプリのこと? Binary Runtime Environment for Wireless ? 

7
8
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
7
8