这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
一、本堂课重点内容:
-
什么是Go语言?
- 高性能、高并发
- 语法简单、学习曲线平缓
- 丰富的标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 垃圾回收
-
Go语言的语法框架
- package
- import
- func
-
Go语言的基础语法
二、详细知识点介绍:
- 开发环境
-
安装Golang
-
2. 安装vscode以及插件
- 基础语法
- 变量
- if else
- 循环
- switch
- 数组
- 切片
- map
- range
- 函数
- 指针
- 结构体
- 错误处理
- 字符串操作
- JSON处理
- 时间处理
- 进程信息
三、实践练习例子:
- 猜谜游戏
构建一个猜数字游戏。在这个游戏里面,程序首先会生成一个个于 1到 10 之间的随机整数, 然后提示玩家进行猜测。玩家每次输入一个数字,程序会告诉玩家这个猜测的值是高于还是低于那个秘密的随机数,并且让玩家再次猜测。如果就告诉玩家胜利并目退出程序 `package main
import ( "bufio" "fmt" "math/rand" "os" "strconv" "strings" "time" )
func main() { maxNum := 100 rand.Seed(time.Now().UnixNano()) secretNumber := rand.Intn(maxNum) // fmt.Println("The secret number is ", secretNumber)
fmt.Println("Please input your guess")
reader := bufio.NewReader(os.Stdin)
for {
input, err := reader.ReadString('\n')
if err != nil {
fmt.Println("An error occured while reading input. Please try again", err)
continue
}
input = strings.Trim(input, "\r\n")
guess, err := strconv.Atoi(input)
if err != nil {
fmt.Println("Invalid input. Please enter an integer value")
continue
}
fmt.Println("You guess is", guess)
if guess > secretNumber {
fmt.Println("Your guess is bigger than the secret number. Please try again")
} else if guess < secretNumber {
fmt.Println("Your guess is smaller than the secret number. Please try again")
} else {
fmt.Println("Correct, you Legend!")
break
}
}
} `