原文链接:https://www.ahaoaha.top/2019/04/28/Golang基础语法总结/
本文基于golang1.12.5。
前提知识
- golang以包(文件夹)作为管理单位
- 每一个
xxx.go
文件必须先声明所属包 - 一个程序中必须有一个main包
- 导入的包必须进行使用,否则会编译报错,在VsCode编辑器下,保存
xxx.go
文件时,未使用的包会自动进行删除 - golang中的init函数会在main函数开始之前执行,当init函数执行完成之后,main函数才会开始执行
代码规范
golang对代码规范要求十分严格,不规范代码会产生各种问题。
- 函数的第一个括号必须和函数名位于同一行
- if语句的第一个括号必须与if位于同一行
- else语句必须与其对应的if的上一个右括号以及自身左括号位于同一行
- switch语句的右括号必须与switch在同一行
常用的包
fmt
:包含IO相关的函数
golang关键字
int default break func interface select case defer go map
struct chan else goto package switch const fallthrough if
range type continue for import return var
内建常量
true false
iota
nil
内建类型
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
内建函数
make len cap new append copy close delete
complex real imag
panic recover
函数名 | 说明 |
---|---|
len、cap | len用于返回某个类型的长度或数量(字符串、数组、切片、map、管道);cap用于返回某个类型的最大容量(只可用于切片和map) |
new、make | new和make都用于内存分配:new用于值类型和用户定义的类型,make用于内置类型(切片、map、管道) |
copy、append | copy用于复制切片;append用于连接切片 |
panic、recover | 两者均用于错误处理机制;panic类似于C语言中的perror |
print、println | 底层打印函数 |
complex、read、imag | complex用于创建复数;read用于提出复数的实部;imag用于提取复数的虚部 |
变量
定义变量
-
使用var关键字:
var 变量名 变量类型
package main import "fmt" func main() { var a int //声明的变量必须使用,否则会产生错误 a = 1 //变量赋值 fmt.Println(a) var b, c int b, c = 3, 4 fmt.Println(b, c) } //使用var关键字声明变量的初始化方式: //1.声明之后采用赋值 //2.var 变量名 变量类型 = 变量初始值
-
var自动推导类型:var 变量名 = 变量初始值
package main import "fmt" func main() { a := 1 //定义变量+初始化 b, c := 3, 3.1415 fmt.Println(a) fmt.Println(b, c) }
-
:=
自动推导类型:变量名 := 变量初始化的值
package main import "fmt" func mai