Go语言基础语法和入门 | 豆包MarsCode AI刷题

81 阅读3分钟

Go语言基础语法和入门

1.Go语言的基本结构:

见如下一个基础的go语言代码

package main

import "fmt"

func main() {
   fmt.Println("Hello, World!")
}

我们可以看到有三个基础的块

1.包声明

package声明该文件所属包,此处为main

2.导入包

使用import进行导入需要使用的包

3.函数

关键部分,使用func进行定义并确定详细名字。main函数为主要程序入口。

2.基本Go语言数据类型

  • 基本数据类型:整型:int8 int16 int32 int64 uint uint8 uint32 uint64 字符串型:string(使用UTF-8编码) 布尔型 浮点型:float32 float64 复数:complex32 complex64
  • 聚合类型:数组:固定长度的序列 结构体:不同字段的集合
  • 引用类型:指针 切片(动态可变数组) 映射map(字典) 函数

3.命名

类型跟在变量名之后并且可以多个一起命名:x int,y int =x,yint

or:使用var进行命名变量 var c,python,java bool (var可以出现在包或函数层级)

or:使用短变量命名 :=

注意! 函数外的每个语句必须以关键字开始,因此 短变量命名只能用在函数内部

4.Go语言的循环和判断语句

  • if-else语句:类似C、C++;判断语句后不需要括号,但是后面的内容必须要包含在大括号内部
  • for循环语句:1:经典类似于C语言的循环:for i:=0;i<10;i++{内容}
    用于表示while语句:for sum<1000{sum+=sum}\

注意!for循环的三个参数都是可以省略的,并且有不同的表达含义
if与for相同,可以在表示式前执行一个简短语句,切记else语句要跟在if语句结束后那一行

  • Switch语句
a :=2
switch a{
case 1:
    fmt.Println("one" )
case 2:
    fmt.Println("two")
case 3:
    fmt.Println("three" )
case 45:
    fmt.Println("four or five")
default:
    fmt.Println("other")
}
t := time.Now()
switch {
case t.Hour()< 12:
    fmt.Println("It's before noon" )
default:
    fmt.Println("It's after noon")

与c不同的是执行完某个case语句便会停止,而不是跑完所有case分支,且可以以Switch的分支条件更为自由,如图中第二个switch语句

5.一些基础数据结构

  • 数组:数组[n]T表示一个数组,它拥有n个类型为T的值
    表达式:var a[10] int(若n=0则切片的值为nil)
  • 切片:利用make创造一个切片,会分配一个元素为0的数组并返回一个引用了它的切片,如a:=make([]int,5)——若要指定容量,就传入第三个容量参数,用append去增加元素
  • Map:可看成python的字典,映射将键映射到值,零值为nil,nil映射既没有键,也不能添加键。make函数会返回给定类型的映射,可以说相当常用,声明语法:var mapName map[KeyType]valueTYpe
    m:=make(map[int]string)

6.结构体与结构体方法

结构体在Go语言中是一种聚合类型,很常用,类似于一个
定义:

type user struct{
    name string
    age uint32
}

7.Go语言的包调用

Go语言中有相当多的包可以调用并使用,Time、srtconv、strings等等,要学会搜索并使用需要的包才可以实现开发的高效性