GO
雪下的那么认真
Just go!
展开
-
Go 1.14解决Go Modules模式下更新私有库问题
在Go 1.11之后推出了依赖包管理工具Go Modules之后,Go项目可以在 GOPATH 之外的位置创建,当项目中仅使用了公有库作为依赖时,使用go get或go mod更新依赖一切如初,没有任何问题。 由于Go Modules默认使用代理去更新依赖,所以当使用了私有仓库作为依赖时,Go更新依赖的相关命令将不再可用。通过以下配置,可以实现更新支持https协议的私有库依赖。1. 设置 GOPRIVATE 环境变量go env -w GOPRIVATE=private....转载 2020-09-17 15:08:17 · 2833 阅读 · 0 评论 -
Golang时间的相关操作
golang中时间相关操作,主要是用time包的函数,time中最主要又包含了time.Time这个对象。package utilsimport "time"const ( TIMEFORMAT = "20060102150405" NORMALTIMEFORMAT = "2006-01-02 15:04:05")// 当前时间func GetTime() time.Time{ return time.Now()}// 格式化为:20060102150405func Ge转载 2020-08-06 10:41:19 · 581 阅读 · 0 评论 -
Go语言中defer和return执行顺序解析
1.首先明确return执行前都做了哪些事情。 return是非原子性的,需要两步,执行前首先要得到返回值(为返回值赋值),return将返回值返回调用处。2.defer、return、返回值之间的关系测试用例1:无名返回值(即函数返回值为没有命名的返回值)package mainimport ( "fmt")func main() { ...原创 2020-05-05 22:39:33 · 4224 阅读 · 6 评论 -
Golang中的一些知识点
1. 各种类型复制的时候的花费本节标题也可以叫做“各种类型的值的大小” (the sizes of values of all kinds of types),底层可被不同的值共享的数据的大小未被计算。下面的表格中一个word在32bit操作系统中代表4个字节,在64bit操作系统中代表8个字节,内容基于官方的Go 1.7的编译器。Type Cost Of Value Copy...转载 2020-05-04 21:10:26 · 356 阅读 · 0 评论 -
golang中的mutex锁
mutex锁中一种互斥锁,如果有多个goroutine需要对同一变量进行修改则需要对该变量施加mutex锁以实现安全读写。转载 2020-03-18 19:39:00 · 242 阅读 · 0 评论 -
2020年Go语言有哪些不得不看的最新面试题?
1、编译执行下面代码会出现什么?package mainvar( size :=1024 max_size = size*2)func main() { println(size,max_size)}解析 考点:变量简短模式变量简短模式限制: - 定义变量同时显式初始化 - 不能提供数据类型 - 只能在函数内部使用结果:syntax er...转载 2020-03-03 10:08:47 · 943 阅读 · 0 评论 -
对beego的Orm的Read函数的理解
在官方文档上beego的Read函数o := orm.NewOrm() //第一步,新建orm对象user := User{Id: 1} //新建model对象,并初始化。默认你初始化主键//orm的read函数默认是用主键进行查询的,//所以如果不指定字段,就一定要在初始化Model的时候要设置主键的值err = o.Read(&user) if err == orm...原创 2019-12-03 23:14:21 · 1501 阅读 · 0 评论 -
Ubantu下Golang环境安装
1. 设置 Go 环境要安装并顺利使用 Go,第一步就是要设置 Go 的环境。需要设置的 Go 的环境变量,一共有三个。 GOROOTGo 语言的源码以及安装目录。 GOPATHGo 语言的开发目录,目录可以有多个,但是,当我们执行go get命令的时候,如未指定目录,会默认保存在第一个目录下。 GOROOT_BOOTSTRAP这个目录在安装 Go 1....原创 2019-10-30 01:01:00 · 494 阅读 · 0 评论 -
如何理解Go语言的GOROOT/GOPATH
可以简单理解为:$GOPATH 是go的工程目录/home/guest/gocode├── bin├── pkg└── src$GOROOT 是go的安装目录/home/guest/tools/go├── api├── AUTHORS├── bin├── blog├── CONTRIBUTING.md├── CONTRIBUTORS├── doc├── fa...原创 2019-10-23 22:57:19 · 1183 阅读 · 0 评论 -
go语言面试题
1.go语言中切片的扩容机制是什么?如果切片的容量小于1024个元素,那么扩容的时候slice的cap就在当前容量的基础上翻番,乘以2;一旦元素个数超过1024个元素,增长因子就变成1.25,即每次增加当前容量的四分之一。如果扩容之后,还没有触及原数组的容量,那么,切片中的指针指向的位置,就还是原数组,如果扩容之后,超过了原数组的容量,那么,Go就会开辟一块新的内存,把原来的值拷贝过来,...原创 2019-09-12 10:40:02 · 8152 阅读 · 0 评论 -
有关Go中单例模式的理解
在纯粹的面向对象语言中例如java/C#,在实现单例模式的时候都要用到static的关键字,在golang中是没有static关键字的,看到网上很多人用go实现单例模式并没有用static,于是思考了一下原因。用C#实现单例模式懒汉模式/// <summary> /// 单例模式的实现 /// </summary> public cla...原创 2019-09-09 20:03:58 · 341 阅读 · 0 评论 -
Go语言里的Json
Json是一种轻量级数据交换格式,具有灵活、易于阅读的特点,在互联网行业有广泛的应用。Go语言运行时里自带了encoding/json包,提供了Marshal()和Unmarshal()两个函数进行编码和解码,两个函数原型如下:func Marshal(v interface{}) ([]byte, error)func Unmarshal(data []byte, v interface...转载 2019-09-07 11:17:50 · 111 阅读 · 0 评论 -
Go语言里的Json
Json是一种轻量级数据交换格式,具有灵活、易于阅读的特点,在互联网行业有广泛的应用。Go语言运行时里自带了encoding/json包,提供了Marshal()和Unmarshal()两个函数进行编码和解码,两个函数原型如下:func Marshal(v interface{}) ([]byte, error)func Unmarshal(data []byte, v interface...转载 2020-03-02 15:37:58 · 210 阅读 · 0 评论 -
Golang使用Bee工具初始化Beego项目
环境变量的配置Go配置新建”系统变量:变量名GOROOT,变量值C:\Go\(安装目录)新建”系统变量:变量名GOPATH,变量值E:\ProgramFiles\goProgram,项目的路径系统变量Path,添加C:\Go\bin\bee工具配置系统变量Path,添加E:\ProgramFiles\goProgram\binbeego和bee的安装beego的安装...原创 2019-07-27 17:20:33 · 877 阅读 · 0 评论 -
Go 结构体与初始化
Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型。结构体是复合类型,当需要定义类型,它由一系列属性组成,每个属性都有自己的类型和值的时候,就应该使用结构体,它把数据聚集在一起。结构体也是值类型,因此可以通过 new 函数来创建组成结构体类型的那些数据成为字段(fields)。每个字段都有一个类型和一个名字;在一个结构体中,字段名字必须是唯一的。一,结构体定...转载 2019-07-26 15:48:30 · 300 阅读 · 0 评论 -
Go语言实例化结构体——为结构体分配内存并初始化
结构体的定义只是一种内存布局的描述,只有当结构体实例化时,才会真正地分配内存。因此必须在定义结构体并实例化后才能使用结构体的字段。实例化就是根据结构体定义的格式创建一份与格式一致的内存区域,结构体实例与实例间的内存是完全独立的。Go语言可以通过多种方式实例化结构体,根据实际需要可以选用不同的写法。基本的实例化形式结构体本身是一种类型,可以像整型、字符串等类型一样,以 var 的方式声明结...转载 2019-07-26 15:44:12 · 784 阅读 · 0 评论