笔记(二) GO语言运行小试 | 青训营笔记

125 阅读2分钟

第二篇笔记,解决了前文环境配置出现的问题,略微小结学到的基础语法,并成功运行了一些课程《Go 语言实战案例》中的实例。

遗留问题解决

在第一篇笔记中,Go语言环境配置问题的关键点在于VS code中Go工具的更新下载。 按照官方七牛云 - Goproxy.cn说明的步骤开启的代理,似乎没有为我从github中下载工具带来便利。

image.png

使用文章t.csdn.cn/UOAUA中提到的新版命令。

image.png 再点击安装,期间屡屡报出“Failed”,但耐心等待一会儿,最终还是显示成功,有惊无险。

image.png

完成Go工具更新以后,继续跟着微软出品官方文档走,第一个“hello world”终于问世,断续花了3天,一把心酸。

image.png

基础语法笔记

只记下一些和以前学过的编程语言不一样的点。

变量

  1. 变量的声明,var 变量名 = 值,可以声明变量类型(整型、浮点、布尔等),也可以省略因为能自动判别;可以先声明,再赋值。
  2. 常量声明只需把var换成const。
  3. 字符串类型的变量可以用➕直接拼接,也可以用=来做字符串的比较。

if else

  1. if后面跟的条件有多个时,并非用的逻辑且连接,而是用分号隔开。
  2. if后面的条件语句不用括号括起来。

循环

只有for一种循环,用continue和break控制循环。

分支结构

switch分支语句,不写break也不会自动往下运行,可以用各种类型的变量。switch后面不写变量时,case后面甚至能写条件语句。

切片

  1. 可变长度的数组,用make创建。
  2. 用append追加元素,注意要用=写回原切片变量,和地址指针有关系。
  3. 用:实现的切片读取,类似MATLAB和Python。

map

  1. 用make创建空的新map,注意要写明key和value的变量类型。

image.png

  1. map是完全无序的,遍历的时候是偏随机的顺序。

  2. 用[]实现k-v对的读写,读取时可用ok来查询是否为空值,用delete删除k-v对。

image.png

range

用于数组、map的遍历。

实战

按照说明下载了git,克隆了老师的示例代码,就可以一边实战一边巩固新知啦。

猜谜游戏

  1. 注意随机数的生成要用时间戳来初始化随机数种子。
  2. 读取输入数据,代码中用的流控制,scanf也是可以的。

还有两个实例未学透,和布置的作业一起留给下一篇笔记吧!(拖延症龟速爬行ing)