Golang从入门到精通(四):Golang变量定义和初始化
2017-12-12 14:56
323 查看
变量命名原则
Go语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。但是字母不限于英文字母,所有UTF-8字符都可以。
声明和初始化方式
1.使用var关键字声明和初始化变量的一般形式是使用 var 关键字,例如:
var a int = 9
注意,Go语言变量类型放在变量名之后!
如果上面的代码段没有初始化值,那么变量就会被初始化为对应类型的零值。
var a int
这个代码片段声明了一个int类型变量a,并把a初始化为int零值,即0。
2.忽略类型
这种声明和初始化变量的方式相比于第一种,就是省去了变量的类型,Go语言编译器可以根据你的初始值自动判断出类型。例如:
var a = 5
这里面的a被自动识别为int类型。
3.直接初始化
这种方法定义和初始化变量,既不需要var关键字,也不需要指定类型,快捷又方便,实际的代码中建议用这种方式。
a := 3
以上代码段定义了一个变量a,并把它初始化为3。
4.多变量声明
Go语言可以同时声明和初始化多个变量这个和Python有点像,具体语法如下:
//类型相同多个变量, 非全局变量 var vname1, vname2, vname3 type vname1, vname2, vname3 = v1, v2, v3 var vname1, vname2, vname3 = v1, v2, v3 //和python很像,不需要显示声明类型,自动推断 vname1, vname2, vname3 := v1, v2, v3 //出现在:=左侧的变量不应该是已经被声明过的,且只能在函数体内出现
代码示例
把上面几种变量定义和初始化的方法整理一下,如下:
package main import ( "fmt" ) var c, d int = 1, 2 var e, f = 123, "hello" //!!注意:下行这种不带声明格式的只能在函数体中出现 //g, h := 123, "hello" func main() { var v21 int32 //被定义初始化为0 var v22 int = 2 var v23 = 3 //被自动识别为int类型 v24 := 4 //简易声明&定义的方式 v21 = int32(v23) //强制转换 g, h := 123, "hello" fmt.Println("v21 is", v21) //v21被赋新值 fmt.Println("v22 is", v22) fmt.Println("v23 is", v23) fmt.Println("v24 is", v24) fmt.Println(c, d, e, f, g, h) }
相关文章推荐
- GoLang学习之变量定义和初始化
- C程序变量的声明、定义、初始化和赋值
- C++变量 声明、初始化、定义
- 3、定义铁桶僵尸类:实例变量:僵尸种类、僵尸总血量、僵尸每次失血量,道具,弱点。方法:初始化方法(设置僵尸种类,总血量)、被打击失血、失去装备、死亡。
- 2015.12.18 property定义属性变量 init初始化自定义 class的部分运用
- GO学习笔记 - 变量在定义时没有明确的初始化时会赋值为“零值 ”。
- 类的初始化操作,定义变量
- 写一方法来实现两个变量的交换。在主调函数中定义两个整型变量,并初始化,调用交换方法,实现这两个变量的交换。(使用ref参数)
- 提高C#编程水平的50个要点 之十二“在定义变量的时候就将其初始化”
- delphi 全局变量的定义与初始化赋值
- 你好,C++(7)第三部分 C++世界众生相 3.2.1 变量的定义与初始化
- 类的常成员变量和引用类型的成员的定义和初始化相关知识点
- 定义结构体的时候,里面的变量可以同时初始化吗?
- 变量初始化,声明和定义
- 第一题 定义分数(Fraction)类: 1、成员变量:分子、分母 2、方法: (1)自定义初始化方法(初始分子和分母) (2)分子的赋值、取值方法 (3)分母的赋值取值方法 (4)打印分数信息
- (二)GoLang小记 —— 变量的定义与初始化
- C++ Primer 学习笔记4 变量和基本类型 (变量初始化规则、声明和定义)
- 定义变量时一定要初始化
- delphi 全局变量的定义与初始化赋值
- C 语言的循环控制变量定义和初始化问题