go基础语法

基础语法

参考

log 日志

配置基础库参考

zap 日志

zap配置参考
go get -u go.uber.org/zap

gin 日志

zap 生成 traceid

gorm 空指针报错

传递指针地址,结果传递了值报错

  • reflect: reflect.Value.Set using unaddressable value
  • 解决 加& models.ModelDb().Raw(“select * from grape_job”).Scan(&grapeJob)

gorm空指针报错参考

runtime error: invalid memory address or nil pointer dereference
解决
未引用 
_ "github.com/jinzhu/gorm/dialects/mysql"
先安装
go get github.com/jinzhu/gorm/dialects/mysql

interface 转字符

fmt.Sprint(result.Result)
转整形
b,err := strconv.ParseInt(temp,10,64)

http post 请求

jsonRpc 结构体
postData, err := json.Marshal(jsonRpc)
request, err := http.NewRequest("POST", z.url, bytes.NewBuffer(postData))
request.Header.Add("Content-Type", "application/json-rpc")
client := &http.Client{Timeout: 30 * time.Second}
response, err := client.Do(request)
defer response.Body.Close()

var result JsonRPCResponse  //映射结构体
var buf bytes.Buffer
_, err = io.Copy(&buf, response.Body) // 获取字节数据
err = json.Unmarshal(buf.Bytes(), &result) //字节数据

http post 简单请求

resp, err := http.Post("http://14.29.251.27:8180/api_jsonrpc.php",
	"application/json-rpc",
	strings.NewReader("name=Detector&mobile=1xxxxxxxx"
	defer resp.Body.Close()
	读取字节流数据
	body, err := ioutil.ReadAll(resp.Body)
	字节流数据字符显示
	fmt.Println(string(body))

字典

params := make(map[string]string, 0)
params["user"] = z.user
params["password"] = z.passwd

初始化结构体

z := &ZABBIX{Url, "Admin", "zabbix", 1, ""}

结构体转字节数据

res, _ := json.Marshal(result)
显示字符数据
fmt.Println("res", string(res))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值