GO mod篇
发表于|更新于|技术
|浏览量:
三分钟掌握Go mod常用与高级操作
go mod 使用
更多内容
pprof记录
1 | https://pkg.go.dev/github.com/revel/modules/pprof#section-readme |
文章作者: King
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 君莫笑!
相关推荐

2021-10-08
GO包管理的前世今生
早期的GO包管理(了解)早期根本没有所谓的包管理,项目依赖一塌糊涂。那么这样会出现什么问题? 在没有包管理方案之前,项目依赖于 GOPATH,带来一些不便之处 多项目难以管理。试想一下,A 项目和 B 项目 同时依赖于一个 C 项目,但是依赖于 C 项目的不同版本,如何解决,只能通过多 GOPATH 设置。 123go命令依赖一个重要的环境变量:$GOPATHGOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号;,Linux系统是冒号:[设置Golang的GOPATH](https://blog.csdn.net/chenjh213/article/details/51381024) 项目的依赖只能够手动 go get 下载到 GOPATH 中,如果换一台服务器开发项目,光是包依赖都得弄半天。 如果是本地想搭建对应的项目,还无法知道之前包的版本,只能通过当初项目创建时间进行git tag切换对应版本。 123456git tag #展示全部taggit checkout release-v1.0.0 #切换到tag分支无关...

2022-03-22
Channel 信道
说到channel,就一定要说一说线程了。任何实际项目,无论大小,并发是必然存在的。并发的存在,就涉及到线程通信。在当下的开发语言中,线程通讯主要有两种,共享内存与消息传递。共享内存一定都很熟悉,通过共同操作同一对象,实现线程间通讯。消息传递即通过类似聊天的方式。golang对并发的处理采用了协程的技术。golang的goroutine就是协程的实现。协程的概念很早就有,简单的理解为轻量级线程,goroutine就是为了解决并发任务间的通信而设计的。golang解决通信的理念是:不要通过共享内存来通信,而应该通过通信来共享内存。golang解决方案是消息传递机制,消息的传递就是通过channel来实现的。 Channal是什么?Channal就是用来通信的,就像Unix下的管道一样,在Go中是这样使用Channel的。 下面的程序演示了一个goroutine和主程序通信的例程。这个程序足够简单了。 12345678910package mainimport "fmt"func main() { //创建一个string类型的channel ...

2021-04-26
GO time篇
go Time篇当前日期 time.Now().Format(“2006-01-02”) 当前时间 time.Now().Format(“2006-01-02 15:04:05”) 年月日 year, mon, day := time.Now().UTC().Date() mon格式为month需要转换 也可以单独获取 加一天 time.Parse(“2006-01-02 15:04:05”, date).AddDate(0, 0, 1).Format(“2006-01-02 15:04:05”) 减一天 time.Parse(“2006-01-02 15:04:05”, date).AddDate(0, 0, -1).Format(“2006-01-02 15:04:05”) 0 0 1 前面两个零分别代表年,月 date初始日期 golang包time用法详解 golang map 获取某个值 https://blog.csdn.net/weixin_39524842/article/details/111890157

2021-08-16
GO 包package和import
什么是package package用于对我们的程序进行*分类*,以便易于维护. 每个go文件都属于某个包. 每个Go应用程序必须具有main包。包名称应以小写字母书写. 如果更改并重新编译package,则必须重新编译使用此package的所有代码程序! Import 别名导入 import mongo "mywebapp/libs/mongodb/db" Import 省略package名导入 这里的点.符号表示,对包 lib 的调用直接省略包名,您我以后就是一家人,不分彼此,您的东西就像我就的一样,随便用. 12345package mainimport . "github.com/libragen/felix/lib"func main() { SayHello() //如果没有.忽略包名,那么需要lib.SayHello()。不过这样可能要注意函数名或变量名是否会冲突,个人不推荐} Import 执行初始化工作导入 import _ "github.com/libragen/fe...

2021-08-16
GO 控制结构if-else
简单例子: 1234567if condition1 { // do something } else if condition2 { // do something else } else { // catch-all or default} 注意: 1.即使当代码块之间只有一条语句时,大括号也不可被省略。 2.关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行 1234if x{}else { // 无效的} 使用方式 当 if 结构内有 break,continue,goto 或者 return 语句时,Go 代码的常见写法是省略 else 部分.无论满足哪个条件都会返回 x 或者 y 时,一般使用以下写法: 1234if condition { return x}return y 注意事项 不要同时在 if-else 结构的两个分支里都使用 return 语句,这将导致编译报错 functio...

2021-08-16
GO 数据类型(入门篇必读)
为什么是必读?因为这边会给出这个系列的参考/出处文章地址 https://mojotv.cn/ 变量声明语法 123456789101112var a int //声明一个int类型的变量var b struct { //声明一个结构体 Name string}var a = 8 //声明变量的同时赋值,编译器自动推导其数据类型var a int = 8 //声明变量的同时赋值//声明变量的同时赋值更习惯用":=",但注意全局变量不可以用":="a := 8 go可使用var关键字声明全局变量,但是:=这种方式是不能用在全局变量中的.:=只能用在函数体内部. 1234567var ( a int b bool xx,yy,dd string="xx","yy","dd" //这里省略变量类型也是可以的. zz,aa="zz","aa" ...
公告
欢迎相互学习交流~
