GO语言基础语法 | 青训营笔记

77 阅读2分钟

今天是青训营学习的第一天,作为第一次参加青训营的新生,感觉一切都特别新鲜,今天跟随字节跳动的网课进行学习,首先是走进GO语言基础语言,老师给我们介绍了自己以及这次的课程,并为我们介绍了什么是GO语言,让从未了解过GO语言的我,知道了GO语言的相关信息,并且知道了GO语言的优点:1.高性能、高并发 2.语法简单 3.拥有丰富的标准库 4.完善的工具链 5.静态链接 6.快速编译 7.能够跨平台 8.具备垃圾回收功能。并且了解到不仅字节全面拥抱GO语言,国内外的很多互联网大厂中GO语言的占有率也越来越高。老师还告诉了我们字节选择GO语言的背景。之后了解了GO语言的三种开发环境:1.VScode 2.Golang 3.云开发环境。通过学习还知道了GO语言Hello World的写法以及GO语言中的变量和常量的声明方法,使用var、const分别声明。GO语言中只有一种循环,for循环。GO语言中对数组的切片操作。包括GO语言中错误处理、指针、函数、结构体、字符串处理、JSON处理、时间处理、数字解析、进程信息等关于GO语言的基础语法也都了解到了。 之后开始学习GO语言的实战案猜谜游戏,首先生成随机数 `:package main

import ( "fmt" "math/rand" "time" )

func main() { maxNum := 100 rand.Seed(time.Now().UnixNano()) secretNumber := rand.Intn(maxNum) fmt.Println("The secret number is ", secretNumber) }读取用户输入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)
input, err := reader.ReadString('\n')
if err != nil {
	fmt.Println("An error occured while reading input. Please try again", err)
	return
}
input = strings.Trim(input, "\r\n")

guess, err := strconv.Atoi(input)
if err != nil {
	fmt.Println("Invalid input. Please enter an integer value")
	return
}
fmt.Println("You guess is", guess)

}` 实现判断逻辑

guess, err := strconv.Atoi(input)
if err != nil {
	fmt.Println("Invalid input. Please enter an integer value")
	return
}
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!")
}

} 实现游戏循环 `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
	}
}

}`