---
title: Go言語入門
tags: []
categories: ["Programming", "Golang"]
date: 2013-08-05T13:18:56Z
updated: 2013-08-05T13:18:56Z
---

Go言語に入門してみた。

### インストール

    $ brew install go

### Emacs設定(go-modeインストール)
[ELPA][1]でgo-modeをインストールする。

`M-x package-list-package`でgo-modeの横に`i`をつけて`x`でインストール

goファイルに
`package hogehoge`を書いたあと`C-c C-a`でimportの補完ができる。


### HelloWorld
hello.goを作成

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


実行

    $ go run hello.go
    Hello World!

バイナリ生成

    $ go build -o hello hello.go
    $ ./hello
    Hello World!

### HTTPサーバー

httpd.go

    package main

    import (
        "fmt"
        "net/http"
    )
    
    func hello(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "<h1>Hello, world</h1>")
    }
    
    func main() {
        http.HandleFunc("/", hello)
        http.ListenAndServe(":12345", nil)
    }


簡単。

    $ go run httpd.go

でhttp://localhost:12345にアクセス


#### 組み込みドキュメント

    $ godoc -http=":6060"

でhttp://localhost:6060にアクセスするとドキュメントを読める

↓で入門中

<a href="http://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8B-Go%E8%A8%80%E8%AA%9E-%E5%8F%A4%E5%B7%9D-%E6%98%87/dp/4863541171%3FSubscriptionId%3DAKIAJGZ7MSORH7HQ4FJA%26tag%3Dikam-22%26linkCode%3Dsp1%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4863541171 "><img src="http://ecx.images-amazon.com/images/I/51ZzoXpsmqL._SL160_.jpg" title="基礎からわかる Go言語" alt="基礎からわかる Go言語"></a>


  [1]: http://blog.ik.am/entry/view/id/43/title/ELPA%28Emacs%20Lisp%20Package%20Archive%29%20%E3%82%92%E4%BD%BF%E3%81%86/
