[ Go语言快速上手 | 青训营笔记 ]

62 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

一、本堂课重点内容:

  • 什么是Go语言?

    1. 高性能、高并发
    2. 语法简单、学习曲线平缓
    3. 丰富的标准库
    4. 完善的工具链
    5. 静态链接
    6. 快速编译
    7. 跨平台
    8. 垃圾回收
  • Go语言的语法框架

    1. package
    2. import
    3. func
  • Go语言的基础语法

二、详细知识点介绍:

  • 开发环境
    1. 安装Golang

image.png

image.png 2. 安装vscode以及插件

image.png

image.png

  • 基础语法
    1. 变量
    2. if else
    3. 循环
    4. switch
    5. 数组
    6. 切片
    7. map
    8. range
    9. 函数
    10. 指针
    11. 结构体
    12. 错误处理
    13. 字符串操作
    14. JSON处理
    15. 时间处理
    16. 进程信息

三、实践练习例子:

  • 猜谜游戏

构建一个猜数字游戏。在这个游戏里面,程序首先会生成一个个于 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
	}
}

} `