第二篇笔记,解决了前文环境配置出现的问题,略微小结学到的基础语法,并成功运行了一些课程《Go 语言实战案例》中的实例。
遗留问题解决
在第一篇笔记中,Go语言环境配置问题的关键点在于VS code中Go工具的更新下载。 按照官方七牛云 - Goproxy.cn说明的步骤开启的代理,似乎没有为我从github中下载工具带来便利。
使用文章t.csdn.cn/UOAUA中提到的新版命令。
再点击安装,期间屡屡报出“Failed”,但耐心等待一会儿,最终还是显示成功,有惊无险。
完成Go工具更新以后,继续跟着微软出品官方文档走,第一个“hello world”终于问世,断续花了3天,一把心酸。
基础语法笔记
只记下一些和以前学过的编程语言不一样的点。
变量
- 变量的声明,var 变量名 = 值,可以声明变量类型(整型、浮点、布尔等),也可以省略因为能自动判别;可以先声明,再赋值。
- 常量声明只需把var换成const。
- 字符串类型的变量可以用➕直接拼接,也可以用=来做字符串的比较。
if else
- if后面跟的条件有多个时,并非用的逻辑且连接,而是用分号隔开。
- if后面的条件语句不用括号括起来。
循环
只有for一种循环,用continue和break控制循环。
分支结构
switch分支语句,不写break也不会自动往下运行,可以用各种类型的变量。switch后面不写变量时,case后面甚至能写条件语句。
切片
- 可变长度的数组,用make创建。
- 用append追加元素,注意要用=写回原切片变量,和地址指针有关系。
- 用:实现的切片读取,类似MATLAB和Python。
map
- 用make创建空的新map,注意要写明key和value的变量类型。
-
map是完全无序的,遍历的时候是偏随机的顺序。
-
用[]实现k-v对的读写,读取时可用ok来查询是否为空值,用delete删除k-v对。
range
用于数组、map的遍历。
实战
按照说明下载了git,克隆了老师的示例代码,就可以一边实战一边巩固新知啦。
猜谜游戏
- 注意随机数的生成要用时间戳来初始化随机数种子。
- 读取输入数据,代码中用的流控制,scanf也是可以的。
还有两个实例未学透,和布置的作业一起留给下一篇笔记吧!(拖延症龟速爬行ing)