go语言基础 | 青训营笔记

450 阅读2分钟

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

由于我的基础较差,没能太懂老师讲解的内容。

go语言使用还是较为方便的,下面展示go语言的hello world。

package main
import"fmt"
func main(){
        fmt.Println("hellow world")
}

image.png

可以见得 go语言使用方便, 执行效率高。

相比于python语言, go的优势是执行效率高,相比于c语言,go的优势是学习成本低,go相比于其他语言, 有不小的优势,这便是我学习go语言的原因。

老师给我们介绍了很多变量类型,有整型,实型,布尔型等等,比起c语言,其中的string类型更是给我们省去不小的麻烦,而且在go中字符串之间可以直接使用加减等于等符号进行运算。

变量声明与赋值操作也很简单,可以用 var a int=1声明一个变量a是整数类型且其值是1.

也可以直接使用var b ="nihao"go语言会直接判定b的类型然后对其进行赋值,在这里 b是字符串类型,其值是"nihao"

也可以直接使用c:=a+1直接进行运算 而不对c变量初始化

值得一提的是go语言里面的常量,它没有确定的类型,会根据使用的上下文来自动确定类型。

go语言里面的循环, 在go里面没有 while 循环、do while 循环,只有唯一的一种 for 循环。最简单的 for 循环就是在 for 后面什么都不写,代表一个死循环。循环途中你可以用 break 跳出

go语言的判断语句更为简单,if语句后面不需要加小括号,但在判断后的执行语句中需要一个大括号将执行语句括起来

下面我们介绍 map, 在其他编程语言里面,它可能可以叫做哈希或者字典。

m:=make(map[string]int)

我们可以用 make 来创建一个空 map ,这里会需要两个类型,第一个是 key 的类型,这里是字符串类型另一个是 value 的类型,这里是整型 。 我们可以从里面去存储或者取出键值对。可以用 delete 从里面删除键值对。

接下来我通过努力成功写出了猜字谜游戏

package main

import (
	"fmt"
	"math/rand"
)

func main() {
	var a int

	maxnum := 100
	ans := rand.Intn(maxnum)
	for {
		fmt.Scanln(&a)
		if a > ans {
			fmt.Println("猜错了有点大")
		}
		if a < ans {
			fmt.Println("猜错了有点小")
		}
		if a == ans {
			fmt.Println("恭喜你猜对了!!!")
			goto end
		}
	}
end:
	fmt.Println("游戏结束")
}

image.png