Golang从入门到精通(四):Golang变量定义和初始化
来源:互联网 发布:pokemon go挂机软件 编辑:程序博客网 时间:2024/06/05 20:33
变量命名原则
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 typevname1, vname2, vname3 = v1, v2, v3var vname1, vname2, vname3 = v1, v2, v3 //和python很像,不需要显示声明类型,自动推断vname1, vname2, vname3 := v1, v2, v3 //出现在:=左侧的变量不应该是已经被声明过的,且只能在函数体内出现
代码示例
把上面几种变量定义和初始化的方法整理一下,如下:
package mainimport ( "fmt")var c, d int = 1, 2var 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)}
阅读全文
0 0
- Golang从入门到精通(四):Golang变量定义和初始化
- Golang从入门到精通(一):Golang介绍
- Golang从入门到精通(三):Golang数据类型
- Golang从入门到精通(八):Golang数组
- Golang从入门到精通(九):Golang字符串
- Golang从入门到精通(十):Golang函数
- Golang从入门到精通(十一):Golang方法
- Golang从入门到精通(十四):Golang结构体
- Golang从入门到精通(十五):Golang指针
- Golang从入门到精通(十六):Golang接口
- Golang从入门到精通(十七):Golang反射
- Golang从入门到精通(二):Golang开发环境配置
- Golang从入门到精通(五):Golang控制语句之if/else
- Golang从入门到精通(六):Golang控制语句之for
- Golang从入门到精通(七):Golang控制语句之switch
- Golang从入门到精通(十二):Golang复合数据之slice
- Golang从入门到精通(十三):Golang复合数据之map
- Golang从入门到精通(十八):Golang并发编程之Goroutine
- 点击率预估
- Xcode插件,自动生成Getter,带你飞
- 利用ES6-Promise()方法封装原始jsonp实现跨域请求公用方法(告别使用JQuery封装好的jsonp)
- java RandomAccessFile的使用
- SpringMVC拦截Controller方法
- Golang从入门到精通(四):Golang变量定义和初始化
- 竖向走马灯(支持多行或单行)-------简单实用
- 接入友盟第三方登录与分享,判断应用是否安装
- ajax回顾
- Java定时任务调度工具
- Python format 使用实例
- css 三种样式的优先级问题
- 阿里云Elasticsearch的X-Pack:机器学习、安全保障和可视化
- 城市交通网络