Golang QuickStart

来自Jack's Lab
跳转到: 导航, 搜索

目录

1 Prepare

Install the Go lang:

$ sudo apt-get install golang-go


Install a library:

$ sudo apt-get install golang-eclipse-paho-dev
$ export GOPATH=/usr/share/gocode


Refer to:



2 Hello

comcat@jackslab:/work/go$ cat hello.go 
package main

import "fmt"

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

comcat@jackslab:/work/go$ go run hello.go
Hello, World!
comcat@jackslab:/work/go$ 
comcat@jackslab:/work/go$ go build hello.go
comcat@jackslab:/work/go$ ./hello
Hello, World!



3 Basics



4 Operators



5 Control Flow



6 Functions



7 Data Structures

7.1 JSON

comcat@jackslab:/work/go$ cat post.go 
package main

import (
	"fmt"
	"strings"
	"net/http"
	"encoding/json"
)

var url string = "http://api.noduino.org/user/token"

type Body struct {
	UID string `json:"user_id"`
}

var body = Body {
	UID: "YOUR_WECHAT_OPENID",
}

func main() {

	data, err := json.Marshal(body)

	if err == nil {
		resp, err := http.Post(url, "application/json", strings.NewReader(string(data)))
		if err != nil {
			fmt.Println(err)
		}

		dec := json.NewDecoder(resp.Body)
		var v map[string]interface{}
		if err := dec.Decode(&v); err != nil {
			fmt.Printf("error: %v\n", err)
		} else {
			fmt.Println(v["user_token"])
		}

		resp.Body.Close()
	}
}
comcat@jackslab:/work/go$ go run post.go
203c57f69b22c0e9fe2a685e4819c231



8 Exceptions



9 Modules



10 Resource































个人工具
名字空间

变换
操作
导航
工具箱