后端Go语言基础笔记:
这是我参与【第五届青训营】伴学笔记创作活动的第1天。
今天,第一次了解到了Go语言,发现了和我所学过的C语言和JAVA有着比较大区别,对于变量的声明有所不同,Go还支持垃圾回收功能。
我通过“走进 Go 语言基础语言“”课程的学习,还发现了Go有着支持数据处理和大并发处理能力,能够解决并发问题。
在编写代码时,我还发现了,go语言函数中是将变量写在前面,类型写在后面,这个和以往学的有很大的区别,同时Go语言后不用带分号(;)比如代码:
package main
func testPtr(num *int) { *num = 20 }
go语言的优点有:
(1)垃圾回收机制。内存自动回收,不需要开发人员管理,防止造成内存泄露。
(2)天然并发性能。从语言层面支持并发,实现简单;goroutine轻量级线程,可实现大并发处理,高效利用多核。
(3)吸收了管道通信机制。形成Go语言特有的管道channel。通过管道channel可以实现不同的goroute之间的相互通信。
(4)函数可以返回多个值
func getSumAndSub(n1 int, n2 int) (int, int) {
sum := n1 + n2
sub := n1 - n2
return sum, sub
}
在第3小节的内容学习中,在项目依赖懂得了,当依赖有多个版本时,依赖会选择最低的兼容版本,比如C项目有1.3和1.4可以选,那在编译的时候就会选到1.4这个兼容版本中版本最低的。
在第4小节的测试内容中,明白了测试文件要以_test.go结尾,一般函数都是写成func TestXXX(t *testing.T)