2020
12-22
12-22
golang 实现struct、json、map互相转化
一、Json和struct互换(1)Json转struct例子:packagemainimport("fmt""encoding/json")typePeoplestruct{Namestring`json:"name_title"`Ageint`json:"age_size"`}funcJsonToStructDemo(){jsonStr:=`{"name_title":"jqw""age_size":12}`varpeoplePeoplejson.Unmarshal([]byte(jsonStr),&people)fmt.Println(people)}funcmain(){JsonToStruc...
继续阅读 >
golang在给结构体赋值初始值时,用:分割k,v值x:=ItemLog{Id:GetUuid(),ItemId:u.Id,UsrId:"123",Name:u.Name,Price:u.Price,Desc:u.Desc,Status:u.Status,DevArea:u.DevArea,}补充:golang结构体作为map的元素时,不能够直接赋值给结构体的某个字段引入:错误Reportsassignmentsdirectlytoastructfieldofamap1.问题的产生这个问题在github上可以追溯到2012年提...
案例:查看陌陌的动态,依次可以按照发布时间,性别,城市进行筛选如图进行筛选gorm链式操作MethodChaining,Gorm实现了链式操作接口,所以你可以把代码写成这样://创建一个查询tx:=db.Where("name=?","jinzhu")//添加更多条件ifsomeCondition{tx=tx.Where("age=?",20)}else{tx=tx.Where("age=?",30)}ifyetAnotherCondition{tx=tx.Where("active=?",1)}结合筛选动态的案例,代...
简单的用法packagemainimport(_"github.com/go-sql-driver/mysql""github.com/go-xorm/xorm""log")//定义结构体(xorm支持双向映射)typeUserstruct{User_idint64`xorm:"pkautoincr"`//指定主键并自增Namestring`xorm:"unique"`//唯一的Balancefloat64Timeint64`xorm:"updated"`//修改后自动更新时间Creat_timeint64`xorm:"created"`//创建时间//Versionint`xorm:"version"`//乐观锁}//定义orm引...
1前言阅读文章之前,请先了解一下thrift相关知识。thrift官方并没有提供客户端连接池的实现方案,而我们在实际使用时,thrift客户端必须复用,来保证较为可观的吞吐量,并避免在高QPS调用情况下,不断的创建、释放客户端所带来的机器端口耗尽问题。本文会详细讲解如何实现一个简单可靠的thrift客户端连接池,并通过对照实验来说明thrift客户端连接池所带来的好处。由于篇幅的原因,本文只粘出关键代码,源代码请查看ThriftClient...
1.首先初始化conf配置把kafka和ES的地址配置好还有一个日志方便查看配置信息如下用到的库是github.com/astaxie/beego/config[logs]log_level=debuglog_path="./logs/log_transfer.log"[kafka]server_addr=192.168.0.134:9092topic=nginx_log[ES]addr=http://192.168.0.134:9200/2.读取conf配置存取进结构体typeLogConfigstruct{kafkaAddrstringESAddrstringLogPathstringLogLevelstringTopicstring}v...
请求地址var(requestGetURLNoParamsstring="http://httpbin.org/get"requestGetURLstring="http://httpbin.org/get?a=a&b=b&c=ccc"imageURLstring="http://httpbin.org/image")普通get请求//基本get请求funcbasicGet(){resp,err:=http.Get(requestGetURLNoParams)iferr!=nil{log.Println("err")}deferresp.Body.Close()b,err:=ioutil.ReadAll(resp.Body)iferr!=nil{log.Println("...
Golang中使用http.FileServer使用http.FileServer可以管理向浏览器返回静态文件http.Handle("/",http.FileServer(http.Dir("/Users/administrator/Desktop/public")))err:=http.ListenAndServe("0.0.0.0:8080",nil)iferr!=nil{fmt.Print(err);}补充:golanghttpsserver分析https:HTTPS是http安全版本的实现,在http与tcp之间加了一层ssl/tls安全传输协议为了防止请求被监听、篡改、冒充,在tls实现过程中引入了数字证书机...
上次写了一个2行实现一个静态服务器的文章今天群里有个哥们是这么写居然返回的是404见鬼了嘛??http.handle("/js",http.FileServer(http.Dir("js"))http.ListenAndServe("8080",nil)大概的意思就是绑定路由为js的时候访问这个js文件夹看了一下确实代码上面没什么毛病。但是路径怎么修改也不好使。我把代码拿到我的电脑上面运行shitfuck这是搞什么啊居然出现下面的这个情况奇怪居然在我电脑上面也不能执行了。莫非我的...