关键字
go的二十五个关键字
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
简介
var和const是 Go语言基础里面的变量和常量申明package和import用于分包和导入func用于定义函数和方法return用于从函数返回defer用于类似析构函数go用于并发select用于选择不同类型的通讯interface用于定义接口struct用于定义抽象数据类型break、case、continue、for、fallthrough、else、if、switch、goto、default用于流程控制chan用于channel通讯type用于声明自定义类型map用于声明map类型数据range用于读取slice、map、channel数据
定义变量
使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面:
//定义一个名称为“variableName”,类型为"type"的变量
var variableName type
定义多个变量
//定义三个类型都是“type”的变量
var vname1, vname2, vname3 type
定义变量并初始化值
//初始化“variableName”的变量为“value”值,类型是“type”
var variableName type = value
同时初始化多个变量
/*
定义三个类型都是"type"的变量,并且分别初始化为相应的值
vname1为v1,vname2为v2,vname3为v3
*/
var vname1, vname2, vname3 type= v1, v2, v3
/*
定义三个变量,它们分别初始化为相应的值
vname1为v1,vname2为v2,vname3为v3
然后Go会根据其相应值的类型来初始化它们
*/
var vname1, vname2, vname3 = v1, v2, v3
/*
定义三个变量,它们分别初始化为相应的值
vname1为v1,vname2为v2,vname3为v3
编译器会根据初始化的值自动推导出相应的类型
*/
vname1, vname2, vname3 := v1, v2, v3
_(下划线)是个特殊的变量名,任何赋予它的值都会被丢弃。在这个例子中,将值35赋予b,并同时丢弃34:
_, b := 34, 35
Go对于已声明但未使用的变量会在编译阶段报错,比如下面的代码就会产生一个错误:声明了i但未使用。
package main
func main() {
var i int
}