今天是青训营学习的第一天,作为第一次参加青训营的新生,感觉一切都特别新鲜,今天跟随字节跳动的网课进行学习,首先是走进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
}
}
}`