Go语言上手 | 青训营笔记

125 阅读2分钟

Go语言上手 | 青训营笔记

这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记

Go语言的安装。

Go的国内下载地址为golang.google.cn/dl/,选择Linux版本进行下载。将下载后的压缩包解压到/usr/local中,并配置GOROOT为/usr/local/go/bin。

Go语言开发环境的配置。

Go语言开发环境的配置可以选择VSCode。

进入下载地址code.visualstudio.com/Download,选择linux下的.tar.gz的64 bit进行下载。同样将压缩包解压到/usr/local下。打开文件夹到/usr/local中并输入./code就可以运行VSCode,然后再根据实际需要进行相关配置。

语言基础

语言的基础需要学习的有,变量的声明,输入输出,for循环语句,if、switch条件判断,数组array,切片slice,字典map,函数func,结构体struct,错误error,字符串string,时间处理time,json,strconv,env等等。

Go实战项目--猜谜游戏

用简单的实战项目来进行练手是了解和学习一门语言最快最便捷的方式。

//包名为main
package main
//import用于导入包
import (
    "fmt"
    "math/rand"
    "strconv"
    "time"
)
//主函数
func main() {
    //用:=进行初始化并赋值
    maxNum := 100
    //随机数种子,并获得需要猜测的数字secretNumber
    rand.Seed(time.Now().UnixNano())
    secretNumber := rand.Intn(maxNum)
    //fmt标准输入输出库,用Println来进行输出同时换行。
    fmt.Println("Please input your guess")
    //for循环的使用,如果for后面不接任何东西,表示死循环,可以再{}内使用break跳出循环。
    for {
        //用var进行变量声明,声明input是一个字符串类型
        var input string
        //Scan输入函数
        fmt.Scan(&input)
        //err是error类型的变量,如果err非nil的话,表示出错
        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-else的方式来进行条件判断。
        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
        }
    }
}
​