11.golang解析json数据
// 声明结构体 只声明需要的key,value就行 json一定要加不然解析不了
type QuickResult struct {
Code int `json:"code"`
Msg string `json:"message"`
Result []Result `json:"flash_result"`
}
var c map[string]interface{}
str := '待处理json字符串'
json.Unmarshal([]byte(str), &c)
fmt.Println(c)
12.调用其他程序
cmd := exec.Command(`test.exe`, `--param1`, `value1`, `--param2`, `value2`)
err := cmd.Run()
13.hmacssha1加密
func hmacssha1(s, key string) string {
hashed := hmac.New(sha1.New, []byte(key))
hashed.Write([]byte(s))
return string(hashed.Sum(nil))
}
14.post请求带文件原始数据(框架goframe)
c := g.Client()
audio, err := os.Open(path)
defer audio.Close()
data, err := ioutil.ReadAll(audio)
result, err := c.Post(
gctx.New(),
url,
data,
)
defer result.Close()
15.实现while循环
i := 0
for {
i ++
if i > 10 {
break
}
}
16.for循环以及多层for循环跳出指定for循环
for i:=0;i < 100;i ++ {
label1:
// 为这个for循环声明
for index, item := range arr {
if arr[index] == value {
// 跳出指定for循环
break label1
}
}
}