这是我参与「第五届青训营」笔记创作活动的第1天,本日笔记还待完善。
一、本堂课重点知识
今天主要的学习内容是Go语言基础知识,包括开发环境、基础语法和标准库,以及三个实战案例。
二、详细知识点介绍
1. 开发环境
我选择了VS Code + Go作为我的开发环境。 注意,VS Code需要安装Go插件,以及Go的工具插件。由于资源需要翻墙可能会下载失败,可以在终端执行如下命令:
go env -w GOPROXY="https://goproxy.cn"
代理地址可以根据个人情况更换。 重启VS Code后,快捷键ctrl + shift + p ,输入Go: Install/Update Tools,全选确定等待即可。
2. 基础语法 与 标准库
Go语言的语法与C++的类似。这一部分内容要在之后的学习过程中慢慢熟悉巩固。
三、实践练习例子
1. 猜谜游戏
可以说是语言入门中一个家喻户晓的小例子了,可以涉及到还算不少的基础语法知识。
在课程中给出的代码使用的是bufio对输入进行读取,下面是我使用fmt.Scanf简化后的代码。
但是个人感觉缺少了对输入不为数字时的错误提示。
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
maxNum := 100
rand.Seed(time.Now().UnixNano())
secretNumber := rand.Intn(maxNum)
fmt.Println("please input your guess")
for {
var input int
_, err := fmt.Scanf("%d", &input)
if err != nil {
fmt.Println("An error occured while reading input. Please try again", err)
continue
}
fmt.Println("You guess is", input)
if input > secretNumber {
fmt.Println("Your guess is bigger than the secret number. Please try again")
} else if input < secretNumber {
fmt.Println("Your guess is smaller than the secret number. Please try again")
} else {
fmt.Println("Correct, you Legend!")
break
}
}
}
2. 在线词典
3. SOCKS5代理
四、课后个人总结
再次全面的了解了Go语言及其相关的发展背景、基础知识等。