Golang QuickStart

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(Resource)
(JSON)
 
(未显示1个用户的4个中间版本)
第20行: 第20行:
 
* https://golang.org
 
* https://golang.org
 
* http://www.eclipse.org/paho/clients/golang/
 
* http://www.eclipse.org/paho/clients/golang/
 +
 +
<br><br>
 +
 +
== Hello ==
 +
 +
<source lang=bash>
 +
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!
 +
</source>
  
 
<br><br>
 
<br><br>
第40行: 第62行:
  
 
== Data Structures ==
 
== Data Structures ==
 +
 +
=== JSON ===
 +
 +
<source lang=bash>
 +
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
 +
</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































个人工具
名字空间

变换
操作
导航
工具箱