这是我参与「第五届青训营」伴学笔记创作活动的第 1 天
今日任务
-
了解Go语言基础语法
-
Go语言入门
基础语法
- Go语言的数据类型包括布尔型(bool)、数字类型(int、float32、float64)、字符串类型(string)以及派生类型(pointer、array、struct、channel、func、slice、interface、map)。
- Go语言的变量名由字母、数字、下划线组成且首个字符不能为数字(不能为关键字),其声明的规范有三种方式。
//可以多个变量同时声明,并且Go语句之间不需要使用分号;隔开
//指定变量类型(无初始值默认为0)
var v_name v_type
//根据值自行判定变量类型
var v_name = v_value
//使用:=声明变量(已声明过在使用该方式会导致编译错误)
v_name := v_value
- Go语言的常量是在程序运行时不会被修改的量,只能是布尔值、数字型(整数型、浮点型和复数)以及字符串型。其定义的格式为:
const v_name (v_type) = v_value
- Go语言的条件语句(if语句、if...else语句、switch语句)在编写的时候是不需要在条件的前后添加括号的,并且Go没有三目运算符,不支持?:形式的条件判断。
- Go语言的循环语句只有for循环语句,并且同条件语句相同,其条件不需要写在括号内。其关键字包括了continue(跳出当前循环并进入下一轮循环)、break(中断循环)以及goto(跳转语句)。
- Go语言的函数声明指明了编译器函数的名称,返回类型和参数,其定义的格式为:
//若采用值传递在函数中对参数进行修改并不会影响实际参数,但是采用引用传递在函数中对参数的修改将会影响到实际参数的值
func func_name([parameter list]) [return_types]{
函数体
}
- Go语言的数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,其定义的格式为:
var v_name[size] v_type
- Go语言的指针声明格式为:
//取地址符为&且空指针为nil
var v_name *v_type
- Go语言的结构体是由一系列具有相同类型或不同类型的数据构成的数据集合,其定义的格式为:
type struct_variable_type struct {
member definition
member definition
...
member definition
}
- Go语言的切片是对数组的抽象,其长度是不固定的,可以追加元素,并且具有len()(获取切片的长度)、cap()(计算切片的最大长度)、append()(增加切片容量)、copy()(拷贝切片)等函数。其定义格式为:
var v_name []type
var v_name []type = make([]type,len)
- Go语言的集合是一种无序的键值对的集合,可以通过key快速检索数据。其定义格式为:
/* 声明变量,默认 map 是 nil */
var map_variable map[key_data_type]value_data_type
/* 使用 make 函数 */
map_variable := make(map[key_data_type]value_data_type)
今日总结
Go语言的学习过程是简单快速的完成,但是在实际运用过程中需要不断将其加以运用以达到灵活运用的目的。在最后,附上Go语言标准库的链接,以方便快速查询所需要的库函数: Go语言标准库文档