golang学习笔记及常见错误处理 长期阶段性更新(一)

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                
                }
        }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值