Go语言基础 | 青训营笔记

105 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第1篇笔记

基础语法

基本类型

image-20220517155644116

go是一种强类型语言
go的基本类型有 字符串 整型 浮点型 布尔型

变量的声明可以通过 var a 表示
变量的初始化可以通过 var a = 1 表示,也可以直接通过 a := 1 表示
前期变量声明可以不用指明变量类型,可以自动推导变量类型

常量的声明可以通过 const 表示

基础语法-if else

image-20220517160451968

go语言中的if else语法与C++/java很相像
不同点是if后边没有括号,如果添加括号在编译时刻也会将括号去除

基础语法-循环

image-20220517160710430

go语言中只有一种循环,也就是for循环
基本用法同C

基础语法-switch

image-20220517161828914

用法同c
可代替多个if else

基础语法-数组

image-20220517162409741

基础语法-切片

image-20220517162533490

切片也就是边长数组
make关键字类似于new关键字,返回值为指针

使用make来创建一个切片,make函数第一个参数输入类型,第二个参数输入初始大小
创建切片可以通过make创建,也可以通过拷贝构造创建,拷贝构造的参数可以为同类型的常量或者是变量
比如
a := "ssss"
s := make([]string, 3)
ss := []string(s)
sss := []string{"a", a}

基础语法-map

image-20220517164319090

同C

基础语法-range

image-20220517165324994

相当于foreach循环
range作用于切片上返回值有坐标与值
range作用于map上返回值有key和value

基础语法-函数

image-20220517165648611

基础语法-指针

image-20220517165746055

同C

基础语法-结构体

image-20220517165855687

同C

基础语法-结构体方法

image-20220517170049918

将参数转移到了方法名的前面
如果是值传递则代表是一个const方法
如果是引用传递则代表可能会修改传入的引用

基础语法-错误处理

image-20220517170252806

go语言中,err是作为返回值进行传递的
符合单向出口原则,使代码更具有阅读性

基础语法-字符串操作

image-20220517170456052

go语言中,对字符串处理的函数库包含在strings库中
包含常见的字符串处理函数

基础语法-字符串格式化

image-20220517170705161

fmt包中的print函数与c中print函数很相像

基础语法-JSON处理

image-20220517170937881

基础语法-时间处理

image-20220517171926014

基础语法-数字解析

image-20220517172017782

基础语法-进程信息

image-20220517172315308

实战