Go后端学习 day1| 青训营笔记

73 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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 intint {  
   /* 声明局部变量 */  
   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语言设计与实现里面看看。