这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。
Go基础语法
学习的过程中发现与C语言类似,不过比C语言简单很多。每行语句结束的时候不需要加分号。 变量的声明类型在后,名字在前,大致有三种方式:
var a int
a = 1
var a = 1//自动识别类型,也可以显式指出 var a int = 1
a := 1 //自动识别类型
判断语句和大部分编程语言一样,用if else 或 swtich。
if a>b{
return a
}else{
return b
}
switch a{
case 1: return 1
case 2 :return 2
case 3: return 3
}
有一个小心得就是每个判断语句的第一句都可以加一个声明的语句,不会报错,方便某些情况的运行。 比如:
switch a := -1;a{
case 1: return 1
case 2 :return 2
case 3: return 3
}
循环语句只有for循环,感觉还是很舒服的,省的有太多循环的写法到时候看也看的麻烦。同样for循环后面的第一句也可以加一个声明的语句。贴一个for循环语句:
package main
import "fmt"
func main() {
for true {
fmt.Printf("这是无限循环。\n");
}
}
函数和大部分语言也差不多,返回值的类型要写出来。
/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
/* 声明局部变量 */
var result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
map在Go语言里是映射或者叫哈希表,用来存键值对的,本质上是集合,所以遍历的时候没有顺序,是随机遍历的,说到遍历,Go语言里可以用range来遍历大部分可以遍历的东西,省的写for i:=0;i<len(a);i++了,写力扣的时候挺好用的。
后面的一些标准库感觉看了第二天第三天也会忘,建议保存一下中文文档,要用的时候直接查。
老师貌似没讲到interface接口,这个感觉实际工程里面用的很多,可以去Go语言设计与实现里面看看。