这是我参与「第五届青训营」伴学笔记创作活动的第 1 天。
今天主要上了两节掘金课。一是走进go语言基础语言,二是go语言的实战案例
主要简单的了解了go语言的基础知识以及相对基础的运用。对于我这种没有接触过go语言的新手来说,还是较为友好的,基础讲解也比较仔细与清晰
一、走进GO语言基础
1.开发环境
Goland
2.集成开发环境
VS code
3.Go的基础语法
- Go 变量
变量声明一般有两种。第一种是通过 var name string =“” 这种方式来声明变量,声明变量的时候,一般会自动去推导变量的类型。如果有需要也可以显示写出变量类型。另一种声明变量的方式是:使用变量 冒号:= 等于值。常量的话就是把 var 改成const,go语言里面的常量没有确定的类型,会根据使用的上下文来自动确定类型
- Go if-else
if后面没有括号,有也会去掉,其他使用方法基本与c相似
- Go switch
不需要break语句跳出switch,执行一次便退出
- Go for循环
Go里面只有For循环,类似C,退出循环break(直接退出所有循环)continue(执行下一次循环)
- 数组声明:
var a [长度]类型,例如var a [5]int(有长度限制)
- 切片
声明:用make([]类型,长度)函数创建,和数组一样使用,用append来追加元素,就是没有长度限制的数组,
- map:
键值对集合,类似python中的字典,声明make(map[键类型]值类型)
- range:
用于快速遍历slice或map,返回下标/键 和 值
- Go 函数
参数类型是后置的
- Go 指针
主要用途:对于传参进行修改,没有C/C++中作用那麽多那麽复杂
- Go 结构体
带类型的字段的集合,没什么特别的
- Go 结构体方法
在声明函数时,把结构体参数加上括号写在函数名之前,如func(u 结构体名)(* u 结构体名) 函数名(其他参数){}
- Go
strings标准库下有很多字符串操作方法 %v,%+v,%+v,可以不用区分变量类型;%.2f保留小数点后2位
- Go 错误处理
Go使用一个单独的返回值来传递错误信息
- Go JSON处理
保证结构体的每个字段首字母大写,就可以用JSON.marshaler进行序列化
二、Go语言的实战案例
三个实战案例主要为
1猜数游戏
2在线词典介绍
3Socks5代理
三、学习感受
在今天的学习中,第一课对于go的基础语法我觉得讲解得十分清晰,但是个人实验三个实战案例时,会出现很多的bug,大多数都不是语法问题 ,而是环境配置问题,上网慢慢搜索错误原因以及解决方法,最后也是成功的实现了三个案例。总而言之,今天的收获还是很多的,让我了解了go语言的基本知识以及亲手打码感受,体验并感受了go语言编程的感觉