青训营笔记 | 第二天笔记

34 阅读2分钟

首先,我对第一天的第二小节的内容进行一下总结:

第二小节主要针对三个项目实例进行讲解,我由于时间关系只对于第一个项目代码进行了研究以及输出验证

`import (

"bufio"
    
"fmt"
    
"math/rand"
    
"os"
    
"strconv"
    
"strings"

)`//其实刚开始我还不理解这个import的东西是干什么用的后来上网百度才了解,原来是导入包的,这个包其实相当于库,里面有许多库函数,可以直接调用,非常方便。

`func main() { // 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.TrimSuffix(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("Bigger")

	} else if guess < secretNumber {
		fmt.Println("Smaller")
	} else {
		fmt.Println("Correct!")
		break
	}
}

}` 对于这部分内容,其实详细理解起来也挺容易的。就是正常的C语言的内容外加上一些逻辑部分组成的。 比较难的就是那个生成随机数方法。大家可以多理解一下应该是没有问题的。

还有就是这节课的代码不能完全照搬老师上课所提供的代码,因为在“input = strings.TrimSuffix(input, "\r\n")”这一部分中"\r"是我后期加入的。应该是只有Windows系统才会出现这种错误。这是由于在字符串转化为数字的过程中,它会默认带上“\r\n”因此我们输入数字进去是所输出的结果是非法的。

我对本节课的理解就是:本节课的小实践让我们收获颇丰,一是让我们更加了解了Go语言,巩固了基础,二是让我们增加了对Go语言写一个小项目的经验,让我们有了学习下去的欲望!