Golang QuickStart
来自Jack's Lab
(版本间的差异)
(→Data Structures) |
(→JSON) |
||
第109行: | 第109行: | ||
comcat@jackslab:/work/go$ go run post.go | comcat@jackslab:/work/go$ go run post.go | ||
203c57f69b22c0e9fe2a685e4819c231 | 203c57f69b22c0e9fe2a685e4819c231 | ||
+ | </source> | ||
+ | |||
<br><br> | <br><br> | ||
2017年6月9日 (五) 09:23的最后版本
目录 |
[编辑] 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