这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。
注:此文更适合学过C语言的同学食用。
一、本堂课重点内容:
- 开发环境
- 基础语法
- 标准库
二、详细知识点介绍:
- hello world
- 代码相关
- package声明包
- import引用库
- fmt库下有I/O函数
- fun main(){}——main函数
- 命令相关
- go build 编译
- go run 运行
- 代码相关
- 变量
- 声明
- var a = "initial"
- a:=float32(e)
- 类型
- 布尔型,字符串类型,数字类型(整型,浮点型) ,其他(指针,数组,函数,接口)
- 声明
- if-else
- if的条件不加圆括号
- if的执行代码一定要加大括号
- 循环
- 只有 for循环
- 具体实现(条件)
- 什么也不加的死循环
- 同C语言的for循环
- 具体实现(执行操作)
- continue(同C语言)
- break(同C语言)
- switch
- 多个选择
- 优于C
- N选1,不用再break
- 不用定义case的变量名,甚至可以直接写条件分支
- 数组(不常用)
- 也用var定义
- 长度一开始就固定了
- 切片(升级版数组——可变长度——“长度+容量+数组指针”)
- 添加——s=append(s,"d")
- 容量不足时,自动扩容
- 复制——copy(c,s)
- s拷贝到c
- 打印——fmt.Println(s[2:5])
- 从头到尾
- 有头没尾
- 有尾没头
- 添加——s=append(s,"d")
- map
- 创建
- m:=make(map[string]int)
- 方括号内是key的类型
- 方括号后是value的类型
- m:=make(map[string]int)
- 可写可读
- 写 m[""]=
- 读 fmt.Println(m[""])
- 创建
未完待续
三、实践练习例子:
- 有什么实践举例帮助理解知识点?
四、课后个人总结:
-
注意数组与切片的区别
- 可以学一下C的malloc()和指针辅助理解
-
注意习惯调整,多重复,不要和原来熟悉的语言混淆。
五、引用参考:
- 菜鸟教程 Go语言教程