Go语言基础语言 | 青训营笔记

82 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

今天字节青训营课程的第一天,由王克纯老师为我们完成了Go语言的基础开篇之作。

以前对Go语言的了解较少,只知道一些大厂在积极的使用Go语言,那么Go语言究竟有什么样的特点才吸引了众多大厂的使用?

Go语言的特点:
  1. 高性能、高并发。Go语言对于并发的处理很优秀。
  2. 语法简单、学习曲线平缓。语法是经过简化的,循环只有for循环一种。
  3. 丰富的标准库。
  4. 完善的工具链。
  5. 静态链接。
  6. 快速编译。
  7. 跨平台。路由器上都能用
  8. 垃圾回收。和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可以主动抛出错误。