golang
lihanhan98
这个作者很懒,什么都没留下…
展开
-
omitempty的含义
用在go语言结构体struct标签中,跟在字段名称后面,如果字段值为:0、nil、false,则此字段在转换为json格式时,会没有此字段。原创 2021-11-18 09:17:17 · 518 阅读 · 0 评论 -
golang time包的Unix()和UnixNano()
Unix()不是unix系统的意思UnixNano()是当前纳秒原创 2021-11-10 11:46:29 · 2787 阅读 · 1 评论 -
gin.H的简单理解
gin.H实际上就是map[string]interface{},而interface{} 可以代表任意类型,interface{} 就是一个空接口,所有类型都实现了这个接口,所以它可以代表所有类型,所以我们可以以map的形式插入任意类型数据,这是对于interface比较粗浅的理解。...原创 2021-11-09 10:28:06 · 2477 阅读 · 0 评论 -
go get失败后的勘误——go mod init和gopath
go get gin相关组件,其实是可以get成功的,但是问题其实是这样的:①对于go1.17版本,src文件已经没用了,相关包都存储在pkg里②gopath和go module的关系,是gopath存储包,go module在具体的项目里管理包③具体的项目,一定要先在终端里执行go mod init 路径名 这条命令,否则import包...原创 2021-11-04 22:35:38 · 245 阅读 · 0 评论 -
go get -u的含义
u为update的意思:①包已存在则更新②包不存在则下载安装原创 2021-11-04 21:36:20 · 384 阅读 · 0 评论 -
flag包之flag.String()
package mainimport("fmt""flag")func main() { dir := flag.String("b", "/home/default_dir", "backup path") mode := flag.Bool("d", false, "debug mode") flag.Parse() fmt.Println("dir: ", *dir) }三种情况:默认、指定路径和-help...原创 2021-10-29 23:04:32 · 3191 阅读 · 0 评论 -
flag包之flag.Bool()
初学flag包,对其含义还是理解不深,处理命令行参数之类还是晦涩难懂,查阅资料后,顿感豁然开朗:Go语言提供了对命令行解析的内置支持,并具有可用于定义标志的功能,这些标志可与命令行程序一起使用。flag包,该软件包提供了flag.Bool()函数,该函数用于定义具有指定名称,默认值和用法字符串的布尔标志。范例1:package main import ( "flag" "fmt") func main() { // Define a bool flag转载 2021-10-29 22:33:38 · 1217 阅读 · 0 评论 -
初学Golang的++(--)和指针时感觉非常奇怪的一段代码
// An highlighted blockpackage mainimport "fmt"/*func main(){ var i = 0 var p = &i *p++ fmt.Println(i)}*/func incr(p *int) int { *p++ return *p}func main(){ v := 1 incr(&v) fmt.Println(incr(&v))}对于v最后的值,我是感到疑惑的,go和之前学习的原创 2021-10-29 22:22:22 · 155 阅读 · 0 评论 -
Golang的++和--
和之前学过的C、Java、Python等语言不同,Golang的++和–是语句而不是运算符,可以有这种语句:var i int = 12i++i++fmt.Println(i)但下面的写法是错误的:var i int = 12i = i++i = i–return i++因为++和–不是运算符。同理,不存在如下语句:++i和–i...原创 2021-10-29 21:49:22 · 1026 阅读 · 0 评论 -
同一目录下出现两个package的问题
学习时发现的问题:同一目录下的go文件只能属于同一个包,多个包报错。但后面是否会有跨package引用的内容呢,存疑,学习到了再回顾整理。原创 2021-10-29 21:37:22 · 829 阅读 · 0 评论 -
以“ := ”形式声明全局变量的异常情况
学习是发现一个问题:以 := 形式声明全局变量会报错,但var d string 和var d 形式则不会;原因暂时未知原创 2021-10-29 21:22:06 · 97 阅读 · 0 评论 -
Golang的驼峰式命名
Go程序员使用“驼峰式”的风格摘自百度百科原创 2021-10-29 20:53:52 · 892 阅读 · 0 评论 -
go run 和 go build的简单命令行参数
go run XXX.go param1 param2 param3命令行参数是param1、param2、param3或者go build XXX.go再运行.exe文件XXX param1 param2 param3命令行参数是param1、param2、param3原创 2021-10-29 19:51:42 · 1297 阅读 · 0 评论 -
go mod init filefolder的作用和以“*_test.go”形式命名的go文件的问题
在使用goland编译go文件时,出现了很多问题,如下:似乎是提示没有go module搜索到命令“go mod init filefolder”命令,来生成go.mod文件生成了go.mod文件,但还是无法执行go build命令遂打开cmd进行测试,未果尝试运行go run命令,却有如下结果受到启发,修改了go文件文件名,再进行测试,成功总结go mod init filefolder 命令,生成go.mod文件,重要,但使用的是Goland IDE,所有可能是Goland原创 2021-10-29 19:14:20 · 217 阅读 · 0 评论 -
go get命令
go get命令会下载指定的包,并将下载的包进行编译,然后安装到特定目录原创 2021-10-28 21:11:19 · 213 阅读 · 0 评论 -
gopath修改
gopath的默认位置是C:\Users\86186\go修改环境变量即可gopath下有三个文件夹,分别是:①src目录用于存放Go源代码②pkg目录用于package对象③bin目录用于存放可执行对象原创 2021-10-28 20:58:03 · 1181 阅读 · 0 评论 -
Golang变量
package mainimport "fmt"/*Go内置以下基础类型:布尔类型:bool整型:int8、byte、int16、int、uint、uintptr等浮点点类型:float32、float64复数类型:complex64、complex128字符 :string字符类型:rune错误类型:error*///一次性声明多个全局变量var ( n4 = 300 n5 = 3.1415926 n6 = "money and beauty")func mai原创 2021-10-27 16:26:54 · 69 阅读 · 0 评论 -
.go文件的编译和运行
1.go run通过 go run 命令可以直接运行 hello.go 程序(类似执行一个脚本文件的形式)2.go build通过 go build 命令对该 go 文件进行编译,生成 .exe 文件生成helloworld.exe文件原创 2021-10-27 11:37:50 · 793 阅读 · 0 评论 -
go语言:go mod配置和vscode环境配置
1.安装go语言SDK链接: golangwindows用户选择windows-amd64.msi版本2.设置系统变量GO111MODULE和GOPROXYGOPROXY可以根据需要设置其他代理设置成功后,打开cmd,输入go env两项属性均设置完成3.vscode下载插件打开vscode,扩展中搜索go,安装第一个即可4.创建第一个go项目在vscode中选择:文件-》打开文件夹-》新建HELLOWORLD文件夹-》打开在HELLOWORLD文件夹下新建helloworl转载 2021-10-27 11:00:25 · 2320 阅读 · 0 评论