Go
2022-01-05
52
关于我
作者博客|文章首发
golang对json序列化和反序列化的操作实在是难受,所以说用习惯了高级语言特性,再转到这些偏原生的写法上就会很难受。
不多BB,开始记录。
序列化库的选择
当写个小demo或者做个小工具,没有大规模使用场景,那使用哪个库都是一样的,因为性能的体现并不会很明显。但是如果是在实际项目中使用,且伴随着高并发,大容量等场景,我还是推荐使用json-iterator。
go自带json库
"encoding/json" 官当自带
json-iterator
号称最快的go json
2022-01-05
93
结合Kubebuilder与code-generator开发Operator一、概念简介1.1 code-generatork8s.io/client-go for talking to a kubernetes cluster. k8s.io/client-go 提供了对k8s原生资源的informer和clientset等等,但对于自定义资源的操作则相对低效,需要使用 rest api 和 dynamic client 来操作,并自己实现反序列化等功能。 code-generator
2022-01-05
182
post 请求时可以根据Header设置的Content-Type使用不同的请求体
POST常用的 Content-Type:multipart/form-data; boundary=html 页面里常用的 formx-www-form-urlencoded形式如 a=1&b=2和get请求形式一样,只不过是放在post请求体里application/jsonpost 请求体里传的是 json 字符串application/xmlpost 请求体里传的是完整的 xml另个还可以自定义 Content-T
2022-01-05
63
自从golang原生支持go mod以后,将golang应用依赖处理统一和标准化了,但是在使用中还是会遇到一些问题,比如以下go.mod
module github.com/wowchemy/starter-bloggo 1.14require (github.com/wowchemy/wowchemy-hugo-modules/wowchemy v0.0.0-20210209220000-aa4fe0c75726 // indirectgithub.com/wowchemy/wowchemy-hugo-
2022-01-05
48
deferGolang中的defer会将其后面跟随的语句进行延迟处理。在defer归属的函数即将返回时,将延迟处理的语句按defer定义的逆序执行。也就是说,最先被defer的语句最后被执行。fmt.Println("开始")
defer fmt.Println(1)
defer fmt.Println(2)
defer fmt.Println(3)
fmt.Println("结束")
//开始
//结束
//3
//2
//1defer在函数中必须是匿名自执行函数func f1(){fmt.Printl
2022-01-05
41
以下模块以Golang调试桶排序(简化版)
桶排序,受限于所需要排序的数字区间,也就是说,当所需要排序的数字足够大的时候,就需要申请足够容纳数字最大值长度的内容空间,只需要对数字区间内的几个数字做排序;浪费空间;
复杂度:O(M+N)func bucketSort() {var (input = []int{1, 8, 3, 5, 2, 4, 5}result = []int{})for i :
2022-01-05
61
手撸golang GO与微服务 net.rpc
缘起
最近阅读 [Go微服务实战] (刘金亮, 2021.1)
本系列笔记拟采用golang练习之
gitee: https://gitee.com/ioly/learning.gooop
net/rpc
微服务中的进程间通信概述
对于进程间通信的技术,开发者有多种选择。
可以选择基于同步通信的通信机制,比如HTTP RESTful;
也可以选择基于异步通信的方式,Go语言提供了标准的net/rpc包以支持异步。远程过程调用协议(Remote Procedu
2022-01-05
101
手撸golang GO与微服务 net.rpc缘起最近阅读 [Go微服务实战] (刘金亮, 2021.1)本系列笔记拟采用golang练习之gitee: https://gitee.com/ioly/learning.gooopnet/rpc微服务中的进程间通信概述
对于进程间通信的技术,开发者有多种选择。
可以选择基于同步通信的通信机制,比如HTTP RESTful;
也可以选择基于异步通信的方式,Go语言提供了标准的net/rpc包以支持异步。远程过程调用协议(Remote Procedure Cal