这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
今天字节青训营课程的第一天,由王克纯老师为我们完成了Go语言的基础开篇之作。
以前对Go语言的了解较少,只知道一些大厂在积极的使用Go语言,那么Go语言究竟有什么样的特点才吸引了众多大厂的使用?
Go语言的特点:
- 高性能、高并发。Go语言对于并发的处理很优秀。
- 语法简单、学习曲线平缓。语法是经过简化的,循环只有for循环一种。
- 丰富的标准库。
- 完善的工具链。
- 静态链接。
- 快速编译。
- 跨平台。路由器上都能用
- 垃圾回收。和java相似的垃圾回收机制。
IDE的选取:VSCode和GoLand
使用VSCode需要下载安装Go语言插件
变量
变量的声明:声明变量时将变量的类型放在变量的名称之后,声明后会自动初始化
var a int
var b string
简短声明赋值:变量名称 := 值,编译器会根据右侧的值自动判断左侧变量的类型
i := 0
if else
if后面的条件不加括号
if n % 2 == 0{
fmt.Println("aaa")
}else{
fmt.Println("bbb")
}
切片
Go语言中的切片是对数组的一种抽象 在创建数组的时候,必须指定数组的大小,不能实现动态添加,所以Go提供了切片类型,作为动态数组。
切片的定义:
var 切片变量名 [] 类型
var str [] string
函数
Go语言函数的类型是后置的
func add(a int,b int) int{
return a + b
}
结构体
Go语言中没有类的概念,但是通过结构体的内嵌配合着接口,有着比面向对象更高的扩展性和灵活性。 使用type和struct关键字来定义结构体:
type 类型名 struct{
字段名 字段类型
字段名 字段类型
...
}
type person struct{
name string
city string
age int8
}
异常处理
Go语言不支持传统的try catch finally的异常处理方式,引入defer,panic,recover 其中panic可以主动抛出错误。