golang深坑记录
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深坑记录的更多相关文章
- golang采坑记录
安装golang,引入第三方库,采坑 1.获取安装包 go语言中文网:https://studygolang.com/dl 官网地址:https://studygolang.com/dl 2.下载 选 ...
- 拒绝深坑!记录找了多半天时间的C++编译失败的错误
采用新的源码,和原来的服务改动也不是很大,但是拒绝深坑啊,找了半天以为是源码的问题,结果倒好原来是环境的问题,还是要感谢一个神一样的人物的帮助 编译的时候一直出现undefined reference ...
- 初生牛犊不怕虎 golang入坑系列
读前必读,下面所有内容都是来自这里. 放到这里的目的,就是为了比对一下,哪里的读者多.平心而论,同样的Markdown,博客园排版真心X看,怎么瞅怎么X看.(X := '难' || X :='耐' | ...
- webapp填坑记录[更新中]
网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...
- android MultiDex multidex原理原理下遇见的N个深坑(二)
android MultiDex 原理下遇见的N个深坑(二) 这是在一个论坛看到的问题,其实你不知道MultiDex到底有多坑. 不了解的可以先看上篇文章:android MultiDex multi ...
- 这个PHP无解深坑,你能解出来吗?(听说能解出来的都很秀)
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由horstxu发表于云+社区专栏 1. 问题背景 PHP Laravel框架中的db migration是比较常用的一个功能了.在每个 ...
- 微信小程序之蓝牙 BLE 踩坑记录
前言 前段时间接手了一个微信小程序的开发,主要使用了小程序在今年 3 月开放的蓝牙 API ,此过程踩坑无数,特此记录一下跳坑过程.顺便开了另一个相关的小项目,欢迎 start 和 fork: BLE ...
- webapp填坑记录
网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...
- cefglue埋坑记录
很少写博客,写的不好,请多多包含,主要是记录工作中的一些问题,和园子里朋友一起讨论学习. 写埋坑记录之前,我先介绍下为什么会使用这个webkit内核的浏览器组件,我是wpf项目使用富文本编辑器,话说w ...
随机推荐
- iOS开发遇到的坑之七--上传app Stroe被拒绝:The app references non-public symbols in : _UICreateCGImageFromIOSurface
这是上学期遇到的问题了,突然查阅邮箱的时候发现了,遂在这里记录下来,希望大家以后注意这个问题 我上传App Store的时候,apple给我发的邮件原文: Dear developer, We hav ...
- JavaScript两种创建标签的的方法,实现点击按钮让text自增
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- spring data事务
事务在spring data中的使用 1:事务一般在service层.因为一个service方法可能会多次调用不同的dao,为了保证事务的完整性,那么多次的dao都放到一个方法里面 2:读的时候可以不 ...
- GNU汇编程序框架
汇编的作用:1.对芯片进行初始化 2. 和C混合编程提升C的运行效率 .section .data < 初始化的数据> .section .bss <未初始化的数据> .sec ...
- Git 内部原理之 Git 对象哈希
在上一篇文章中,将了数据对象.树对象和提交对象三种Git对象,每种对象会计算出一个hash值.那么,Git是如何计算出Git对象的hash值?本文的内容就是来解答这个问题. Git对象的hash方法 ...
- python变量声明及简单数据类型
一.python声明变量 变量的命名和使用 # 在Python中使用变量时,需要遵守一些规则和指南. # 违反这些规则将引发错误,而指南旨在让你编写的代码更容易阅读和理解.请务必牢记下述有关变量的规则 ...
- python中生成器对象和return 还有循环的区别
python中生成器对象和return 还有循环的区别 在python中存在这么一个关键字yield,这个关键字在项目中经常被用到,比如我写一个函数不想它只返回一次就结束那我们就不能用return,因 ...
- 使用cxf 发布 jax-rs 风格webservice 。并客户端测试。
详细介绍:http://www.ibm.com/developerworks/cn/java/j-lo-jaxrs/ 1.定义一个User对象 package com.zf.test; import ...
- python3 练习题100例 (十二)
题目十二:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153 ...
- 跨域问题和django中实现跨域
跨域问题 1.同源策略(浏览器的安全功能): 请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同 2.CORS跨域资源共享 实现CORS通信的关键是服务器,只要服务器实 ...