golang
Moniicoo
从今天起 我将会分享自己所总结的计算机知识
展开
-
Goland配置结构体后的自定义Tag, Tap可以自动补全tag
goland编辑器配置go结构体后的自定义tag, Tap自动补全tag原创 2023-02-10 10:36:15 · 1622 阅读 · 0 评论 -
golang-map json struct转换
package mainimport ( "encoding/json" "fmt" "github.com/mitchellh/mapstructure" "reflect")func main() { mapToStruct() jsonToStruct() jsonToMap()}/*golang map to struct*/func mapToStruct() { mapData := make(map[string]interface{}) map原创 2021-04-20 19:26:22 · 505 阅读 · 0 评论 -
go自定义和使用set包处理列表 交集 并集 差集
自定义交集 并集 差集//交集更新type baseStruct struct{}func (s *baseStruct) union(outApiList, LocalDBList []string) []string { baseMap := make(map[string]int) unionList := make([]string, 0) for _, name := range outApiList { baseMap[name] ++ unionList = appen原创 2021-04-16 18:39:41 · 570 阅读 · 0 评论 -
Golang编程模式:函数式编程(function options)
Golang编程模式:函数式编程(function options)1.配置选项问题1.golang编程时 我们经常需要对一个对象或者业务实体进行相关的配置 对相应的结构体进行初始化,下面是结构题例子type Server struct { Addr string Port int Protocol string Timeout time.Duration MaxConns int TLS *tls.Config}1.原创 2021-04-02 18:10:05 · 911 阅读 · 0 评论 -
go多版本管理之gvm
背景Go 的版本管理可以实现版本的切换,实现不同版本间环境的完全隔离谈到环境隔离,有很多方案可供选择,如多主机、虚拟机、容器等技术。这些听起来都挺不错,都能实现需求。多版本切换,主要是不同版本环境变量的隔离。Go 1.10 之前,我们关心的变量有 GOROOT、GOPATH 和 PATH。Go 1.10 之后,GOROOT 已经默认为 go 的当前安装路径,只要考虑 GOPATH 和 PATH 即可。什么是gvmgvm,即 Go Version Manager,Go 版本管理器,它可以非常轻量原创 2021-01-07 17:15:20 · 927 阅读 · 0 评论 -
go import导入包(. _ 别名)等问题
1.正常import代码包1.import "fmt"2.在代码中就可以使用fmt包中的方法,如: fmt.Println("hello world")2.使用点操作引入包时,可以省略包前缀1.fmt前多了 . 字符,使用方法如下,前缀fmt就不需要了Println("hello world")3.使用别名操作可以给包起个小名儿1.import f "fmt" 2.f.Println("hello world")4.使用_导入代码包1.带下划线的虽然导入,但是不会在这个包里面用对原创 2020-10-20 15:41:01 · 1480 阅读 · 0 评论 -
go mod拉取gitlab私有仓库代码问题最全总结
1问题:go mod拉取gitlab私有仓库代码时报错如下1.1 go: git@gitlab.com:groupName/projectName.git: invalid version: git fetch -f origin refs/heads/*:refs/heads/* refs/tags/*:refs/tags/* in /Users/demo/GoProject/pkg/mod/cache/vcs/178c20e0c315bbd8a83e48188c4a3c102ffb5d96cb2635原创 2020-10-18 18:25:09 · 5798 阅读 · 0 评论