前言:
从网上下了本盗版书 = =(支持正版人人有责,新书没到),开始狂撸。今天做下变量笔记,Golang刚入菜如狗,没有嘲笑就没有伤害。
正文:
变量的声明:GO引入了var关键字,类型信息放在变量名之后,示例如下
var f1 int var f2 [10] int //数组 var f3 [] int //数组切片 var f4 stryct{ //结构体 f int } var f5 *int //指针 var f6 map[string] int //map,key为string类型,value为int型 var f7 func(a int) int
如上,会发现golang是可以不写”分号”的,于是就把自己当成老牌node大神,不写分号就行了 = =。
变量初始化: var关键字可以保留也可以写上,主要有3种方式
var v1 int =10 //正常赋值 var v2 =10 //自动推导 v3 :=10 //编译器自动推导类型 注意,左侧变量不可被声明过
变量赋值:下面演示一个变量声明后的赋值过程
var v10 int v10=233 i,j=j,i //多重赋值,交换j与i的值
匿名变量:在编程中我们经常需要调用函数获取一个值,但因为函数返回多个值而造成定义多个变量的情况,下面看go的解决方式(匿名变量)
func GetName()(firstName,lastName,nickName string){ return "May","Chan","7牛专家" } //此时若想获得nickName可以这样写,可以让代码非常清晰 _,_,nickName :=GetName()
字面常量(literal) :不介绍。
常量定义:通过const关键字给字面常量指定名字。由于常量是在编译期出现,所以不可以出现在运行期出现的动态右值。
预定义常量和枚举类型:Go语言预定义了这些常量,true,false,iota。iota比较特殊,在下一个const出现之前,每一次出现iota其自增1.
const{ c0=iota //0 c1=iota //1 c3=iota //2 } //枚举类型 const{ Sunday =iota Mondy Tuesday Wendesday }
后记:
下一节学习“类型”,内容有点多,等到晚上再码字。