5. map[string]interface{}中的整型会被认作float64类型,

querymap["manual"].(float64)   再 int(xxxx)转整型

4.map[string]interface{}中interface{}为数组类型时,要先转成[]interface{},再遍历转成map或者string,再组装成数组

querymap["xxx"].([]interface{})

go深坑:
1.gin.context.JSON,如果没有make数组时,数组返回为null,make后,数组为[]

data := make([]map[string]interface{},0)

2.json.Number转int64类型 datatemp.(json.Number).Int64

3.string转int64    strconv.ParseInt(char_count, 10, 64)

golang包管理govendor使用:

#主流程只看数字步骤
#安装
. go get -u -v github.com/kardianos/govendor #进入到项目目录
. cd /home/gopath/src/mytool #初始化vendor目录
. govendor init #查看vendor目录
[root@CC54425A mytool]# ls
commands main.go vendor mytool_test.sh #将GOPATH中本工程使用到的依赖包自动移动到vendor目录中
#说明:如果本地GOPATH没有依赖包,先go get相应的依赖包
govendor add +external
或使用缩写:
. govendor add +e #Go .6以上版本默认开启 GO15VENDOREXPERIMENT 环境变量,可忽略该步骤。
#通过设置环境变量 GO15VENDOREXPERIMENT= 使用vendor文件夹构建文件。
#可以选择 export GO15VENDOREXPERIMENT= 或 GO15VENDOREXPERIMENT= go build 执行编译
export GO15VENDOREXPERIMENT=

golang 结构体转json字符串

func Struct2jsonstring(value interface{}) string {
data,err := json.Marshal(value)
checkErr(err)
// []byte转string data[:]
return string(data[:])
}

golang 模板引擎的使用:

//测试模板引擎
ztstroytemp := services.Ztstory{
Title: "ddddddddddddddd",
}
t, err := template.ParseFiles("./templates/story.html")
if err!=nil {
fmt.Printf("報錯:%s",err)
}
fmt.Printf("t为:%#v",t.Name())
b := bytes.NewBuffer(make([]byte, ))
var wrbuf = bufio.NewWriter(b)
err =t.Execute(wrbuf, ztstroytemp)
if err!=nil {
fmt.Printf("報錯:%s",err)
}
wrbuf.Flush()
fmt.Printf("模板渲染结果为:%s",b)

golang gin框架使用:

获取path参数:

*gin.Context.Param("dddd")
获取请求query参数
*gin.Context.Query("dddd")

获取post multi/form-data类型:
aa := ctx.PostParam
dddd := aa("dddd")
获取post application/json类型:
body, err := ioutil.ReadAll(ctx.Request.Body)
if err != nil {
ctx.Status(http.StatusInternalServerError)
ctx.Abort()
return
}
var bodymap map[string]interface{}
err = libs_utils.ParseJSON(body, &bodymap)
//fmt.Println(bodymap["text"])
if err != nil {
ctx.Status(http.StatusInternalServerError)
ctx.Abort()
return
}

golang深坑记录的更多相关文章

  1. golang采坑记录

    安装golang,引入第三方库,采坑 1.获取安装包 go语言中文网:https://studygolang.com/dl 官网地址:https://studygolang.com/dl 2.下载 选 ...

  2. 拒绝深坑!记录找了多半天时间的C++编译失败的错误

    采用新的源码,和原来的服务改动也不是很大,但是拒绝深坑啊,找了半天以为是源码的问题,结果倒好原来是环境的问题,还是要感谢一个神一样的人物的帮助 编译的时候一直出现undefined reference ...

  3. 初生牛犊不怕虎 golang入坑系列

    读前必读,下面所有内容都是来自这里. 放到这里的目的,就是为了比对一下,哪里的读者多.平心而论,同样的Markdown,博客园排版真心X看,怎么瞅怎么X看.(X := '难' || X :='耐' | ...

  4. webapp填坑记录[更新中]

    网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...

  5. android MultiDex multidex原理原理下遇见的N个深坑(二)

    android MultiDex 原理下遇见的N个深坑(二) 这是在一个论坛看到的问题,其实你不知道MultiDex到底有多坑. 不了解的可以先看上篇文章:android MultiDex multi ...

  6. 这个PHP无解深坑,你能解出来吗?(听说能解出来的都很秀)

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由horstxu发表于云+社区专栏 1. 问题背景 PHP Laravel框架中的db migration是比较常用的一个功能了.在每个 ...

  7. 微信小程序之蓝牙 BLE 踩坑记录

    前言 前段时间接手了一个微信小程序的开发,主要使用了小程序在今年 3 月开放的蓝牙 API ,此过程踩坑无数,特此记录一下跳坑过程.顺便开了另一个相关的小项目,欢迎 start 和 fork: BLE ...

  8. webapp填坑记录

    网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...

  9. cefglue埋坑记录

    很少写博客,写的不好,请多多包含,主要是记录工作中的一些问题,和园子里朋友一起讨论学习. 写埋坑记录之前,我先介绍下为什么会使用这个webkit内核的浏览器组件,我是wpf项目使用富文本编辑器,话说w ...

随机推荐

  1. Java代码工具箱之解析单行单列简单Excel

    1. 使用开源工具 jxl.jar 2. 功能:解析常规Excel.xls格式测试可行,xlsx未测试.Excel测试格式为常规类似table这种简单布局文件.第一行为标题,后面行为内容.代码 可正确 ...

  2. Apache 错误日志

    配置文件中:httpd.conf ErrorLog "/usr/local/var/log/apache2/error_log1" CustomLog "/usr/loc ...

  3. Ansible指令和常用模块使用

    这里文章记录一下ansible的指令选项和常用的模块使用 ansible指令选项 -m:要执行的模块,默认为command -a:模块的参数 -u:ssh连接的用户名,默认用root,ansible. ...

  4. inotifywait实时监控文件目录

    一.inotify简介 inotify 是一种强大的.细粒度的.异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性.读写属性.权限属性.创建删除.移动等操作,也可以监控文件 ...

  5. ATM-db-dnhandler

    import os,jsonfrom conf import settings def select(name): user_path = os.path.join(settings.BASE_DB, ...

  6. C语言实现判断分数等级

    从屏幕上输入一个学生的成绩(0-100),对学生成绩进行评定: <=60为"E" 60~69为"D" 70~79为"C" 80~89为 ...

  7. kubectl alias auto complete

    平时kubectl命令管理kubernetes,敲久了就觉得比较麻烦,想着使用alias k来代替kubectl,可是当输入k时没有了自动补全的功能 这里在 ~/.bashrc 添加如下配置后,可以自 ...

  8. Charles Babbage【查尔斯·巴贝奇】

    Charles Babbage When Babbage was working at Cambridge, a new idea occurred to him. 巴贝奇在剑桥工作的时候,脑海中有了 ...

  9. [Hdu3555] Bomb(数位DP)

    Description 题意就是找0到N有多少个数中含有49. \(1\leq N \leq2^{63}-1\) Solution 数位DP,与hdu3652类似 \(F[i][state]\)表示位 ...

  10. (转) Redis哨兵的详解

    1 哨兵的作用 哨兵是redis集群架构中非常重要的一个组件,主要功能如下: 1. 集群监控:负责监控redis master和slave进程是否正常工作 2. 消息通知:如果某个redis实例有故障 ...