&tag(Go/入門);
*目次 [#d5b092b8]
#contents
*関連ページ [#v70f51d0]
*参考情報 [#t915fe1d]
-[[A Tour of Go:http://go-tour-jp.appspot.com/#1]]
-[[go言語の始め方(1) — PythonMatrixJp:http://python.matrix.jp/2013/05/09/go_start1.html]]


*設定 [#k666fb8f]

**参考情報 [#k014f601]
-[[EmacsでのGo言語編集環境 - unknownplace.org:http://unknownplace.org/archives/golang-editing-with-emacs.html]]
-[[goインストールから、emacsにgo-mode, go-autocompleteを導入するまで - $shibayu36->blog;:http://blog.shibayu36.org/entry/2013/11/08/194958]]
**インストール [#g9eb7292]

***MacPortsの場合 [#o5cf3f11]
-portsコマンドでインストール。
 port install go

**Emacsの設定 [#l0d7c353]
***go-modeのインストール [#t4e07fb9]
-M-x package-installでgo-modeをインストール。
-.emacsに以下を追加。
#pre{{
;; go-mode
(add-hook 'go-mode-hook
          '(lambda ()
             (setq tab-width 4)
             ))
}}

※ 「`flet' is an obsolete macro (as of 24.3); use either `cl-flet' or `cl-letf'.」という警告がでる場合、パッケージが古い?最新版をインストールしてみる。


*基本 [#z076d348]

** Hello World [#e9e056a6]
-基本プログラム。
#pre{{
package main

import "fmt"

func main() {
    fmt.Println("Hello, 世界")
}
}}

**プログラムの実行 [#wea04d83]
-その場ですぐ実行した場合、go runを使う。
 go run.hello.go

**プログラムのビルド [#j478c070]
-実行ファイルを作成したい場合 go buildを使う。
 go build hello.go


**プログラムのフォーマット [#g2579309]
-ハードタブや、スペースの挿入など
 go fmt hello.go

**ドキュメントの閲覧 [#l5a7af75]
-コマンドライン
 godoc fmt
-web
 godoc -http=":3000"

*パッケージ管理 [#m8007bcb]
**フォルダ構造 [#o0265622]
-もともとプロジェクトルートをGOPATHとして指定する方式が主流だったが、一箇所に固定する方式に変わってきた?
-複数設定するやり方もあるらしい。 [[これからGoを始める人のためのTips集 | The Wacul Blog:http://blog.wacul.co.jp/blog/2014/08/22/go/]]
**プロジェクト基本構造 [#yc1c61e0]
-例えばmyprojectを作成して以下のように構成。
#pre{{
.
├── bin
│   └── main
├── pkg
└── src
    ├── github.com
    │   └── src256
    │       └── gosample
    │           └── gosample.go
    └── main
        └── main.go
}}
-GOPATHをmyprojectに設定し、mainディレクトに移動してgo run main.goで実行できる。

**パッケージの取得方法 [#fef8d78f]
- go get パッケージ名で、GOPATH/src以下にソースファイルが取得できる。
 go get github.com/src256/gosample

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS