
go
天马行空波
Python/Golang后端开发
展开
-
golang json Unmarshal的时候,在key为空的时候给予默认值
废话不多说,直接上代码package mainimport ( "fmt" "encoding/json")type Test struct { A string B int C string}func (t *Test) UnmarshalJSON(data []byte) error { type testAlias Test test := &testAlias{ A: "default A", B: -2, }原创 2020-10-28 13:57:29 · 3766 阅读 · 0 评论 -
go interface 强制转换
GO 数据类型强制转换总是遇到接口返回格式类型不统一,或者返回不符合预期 经常报错。所以搞了个简单的数据类型强转。import ( "errors" "strconv" "strings")var ErrUnsigned = errors.New("The input is smaller than 0 ")func Force2uint64(input interface{}) (uint64, error) { var res uint64 if m, ok := inp原创 2020-08-04 12:00:29 · 5814 阅读 · 1 评论 -
go kafka consumer partitionconsumer demo
package mainimport ( "flag" "fmt" "log" "os" "os/signal" "strconv" "strings" "syscall" "github.com/Shopify/sarama")var ( brokerList = flag.String("brokers", os.Getenv("KAFKA_PEERS"), "...原创 2020-03-20 16:25:00 · 562 阅读 · 0 评论 -
golang time 格式化 format 奇葩
真的是无语,第一次遇到这么奇葩的go语言中time的时间格式化"2006-01-02 15:04:05"像JS中的格式化"yyyy-MM-dd hh:mm:ss"像Python中的格式化"%Y-%m-%d %H:%M:%S"这个go居然直接用一个指定的6123452006年1月2日下午3点4分5秒这是个什么鬼。。。...原创 2020-03-01 12:40:52 · 769 阅读 · 1 评论 -
golang 设置 http response 响应头的坑
之前遇到个问题,在一段代码中这样设置WriteHeader,在浏览器怎么样都不是json。w.WriteHeader(http.StatusOK)w.Header().Set("Content-Type", "application/json; charset=utf-8")后来才知道如果这两种修改一起做,就必须让 w.WriteHeader 在所有的 w.Header.Set 之后,因...原创 2020-02-28 15:42:41 · 2227 阅读 · 2 评论 -
golang中map的声明与初始化
第一种:声明一个key是字符串,值为int的字典,这种方式的声明需要在使用之前使用make初始化var numbers map[string]int初始化numbers = make(map[string]int)var numbers map[string]intnumbers = make(map[string]int)numbers["one"] = 1 //赋值numbe...原创 2020-02-27 12:16:59 · 1285 阅读 · 0 评论