Golang
Go语言学习/实践。
五角场的夜风
同步做人,异步做事。
展开
-
Golang有关map的API
if _, ok := mp[key]; ok { // mp中存在键key} else { // mp中不存在键key}原创 2020-11-21 22:13:13 · 675 阅读 · 0 评论 -
go mod依赖管理
前导如果GoLand没有完成go mod的相关配置,请参考这篇文章https://blog.csdn.net/weixin_41676881/article/details/111402439。go mod tidy命令想要引入哪些包,可以先写到相关文件的import处,然后在terminal中输入以下命令:go mod tidy通过打印的内容可以看出依赖的包已经被下载下来了。观察go.mod文件,发现这个依赖被写到了require处。另外,go mod tidy会移除不再原创 2020-12-19 12:29:05 · 293 阅读 · 1 评论 -
使用Go Module引入第三方库时GoLand无法代码提示
需要在GoLand中设置proxy第一种设置方式在创建项目的时候就设置好,我设置的是七牛云的。第二种设置方式在项目里进行设置,左上角GoLand->Preferences。建议在go env环境变量里也进行设置打开终端,输入以下命令:go env -w goproxy=https://goproxy.cn,direct...原创 2020-12-19 12:02:37 · 2405 阅读 · 1 评论 -
GoLand使用积累
删除光标所在行cmd + X原创 2020-12-11 16:07:36 · 152 阅读 · 0 评论 -
Golang类型的String()方法
作用用于定制fmt.Println(x)、fmt.Printf("%v", x)、fmt.Print(x)时输出的内容。示例package mainimport "fmt"type Couple struct { Husband string Wife string}func (self Couple) String() string { return "(husband:" + self.Husband + ", wife:" + self.Wife +原创 2020-12-11 14:29:35 · 2342 阅读 · 0 评论 -
Mac上安装Golang开发环境
下载https://golang.google.cn/dl/安装按照安装器的指引安装即可,可以一路点击『继续』。测试是否安装成功打开terminal后新建一个文件main.go,编辑如下代码后保存退出:package mainimport "fmt"func main() { fmt.Println("Hello World")}在命令行下输入如下命令,如果成功打印出『Hello World』,则安装成功。go run main.go...原创 2020-12-10 20:06:33 · 293 阅读 · 0 评论 -
Golang中面向对象的实现
Golang在面向对象方面与其他语言的区别Golang中没有类(class)的概念,但是有结构(struct)的概念。在其他语言(比如C++)中,属性是与方法绑定在一起的,而在go中属性与方法是松耦合的。一个简单的结构:type Student struct { name string id string score int}方法方法写在结构的外面,比如我们要为Student对象添加getter和setter,我们应该在Student结构外添加如下代码:原创 2020-12-09 21:00:18 · 395 阅读 · 0 评论 -
Golang包(package)管理
Golang除提供内置函数外,还提供了各种标准库,这些标准库都是用package来组织的。$GOROOT与$GOPATH在讲package管理之前,需要明确两个环境变量,$GOROOT和$GOPATH。$GOROOT$GOROOT目录是存放Go内置工具的,包括各种标准库,比如常用的fmt包、strings包、strconv包等都在这个目录的子目录下。只有指定了$GOROOT,才能顺手的使用标准库。如果没有指定$GOROOT还import了"fmt",编译时可能就会报错,因为编译器不知道fmt原创 2020-11-23 13:46:45 · 616 阅读 · 0 评论 -
Golang对切片进行排序
在Golang中排序可以使用标准库中的sort包。基本排序对int的从小到大排序arr := []int{1, 3, 5, 7, 9, 2, 4, 6, 8, 0}sort.Ints(arr)fmt.Println(arr)输出:[0 1 2 3 4 5 6 7 8 9]对float的从小到大排序arr := []float64{1.1, 3.3, 5.5, 7.7, 9.9, 2.2, 4.4, 6.6, 8.8, 0.0}sort.Float64s(arr)fmt..原创 2020-11-22 20:41:12 · 3821 阅读 · 1 评论 -
Golang有关字符串的API
字符串的创建str := "HelloWorld"获取字符串长度通过内置len函数获取字符串长度str := "cooper"fmt.Printf("字符串的长度是%d\n", len(str))输出:字符串的长度是6需要注意的是,内置len函数用在字符串上其实是获取了字符串占用的字节数,对于英文字符来说一个字符占一个字节,因此英文字符串可以使用内置len函数获取长度。到那时对于中文字符来说,就不能使用len函数获取字符串长度了,因为一个中文字符不只是占用一个字节。保险起.原创 2020-11-22 14:50:09 · 256 阅读 · 0 评论 -
Golang内置函数
makemake可以用于构造map和切片。构造mapmp := make(map[int]bool)构造切片slice := make([]int, 0)new开辟一块内存空间,比如struct经常使用new创建,返回的是这块内存空间的地址,可以传给一个指针。len用于获取切片/字符串的长度。append用于往切片中动态添加元素。slice = append(slice, element)...原创 2020-11-21 22:19:40 · 440 阅读 · 2 评论