Go的100天之旅-03变量
2024-09-07 17:28:09
变量
变量介绍
变量这个词来源于数学,类似方程中的x、y,代表的是存储在计算机中的值。这里主要介绍Go和其它编程语言不一样的地方,在前面我们提到过,Go是一门静态语言。静态语言区别动态语言一个重要的特性就是变量的类型不可变,一般是在声明的时候就指定类型,之后就不可修改它的类型,而动态语言可以随时修改变量的类型。Go的变量可以在声明的时候不指定类型而是直接赋值,Go会自动根据值判断变量的类型,比如:
var i = 1
当然这时i
的类型(int
)也就确定了之后不能修改i
的类型。
也可以声明的时候指定类型:
var i int
这里面的i
就是int
类型。如果变量声明的时候没有给定初始值,那默认就是零值,比如:
var i int
var s string
fmt.Println(i)
fmt.Println(s)
输出是:
0
这里string的零值是""。bool类型的零值是false,以后讲到的指针类型零值是nil
Go的简短形式:=
声明
上面介绍过,Go可以在变量定义的时候比指定类型,系统自动判断类型,那声明的变量的时候加上var是不是感觉有点多余了。Go可以用:=
这种写法直接声明变量例如:
i := 5
a := false
这时i
就是int
类型值为5
,a
就是bool
类型值为false
,需要注意的是它只能被用在函数中,不能全局的声明变量例如:
package main
import "fmt"
i := 1
func main() {
fmt.Println(i)
}
这样是不行的。
还有就是相同的变量,在同一个代码块中只能这样被声明一次,第二次声明也是错误的例如:
package main
import "fmt"
func main() {
i := 1
i : = 2
fmt.Println(i)
}
这样也会报错。
多变量声明
多变量声明是指一次可以声明多个变量例如
var i, j, k int
i, j, k = 0, 1, 2
var m, n = 1, 2
var a, b = 1, false
需要指出的是多个变量声明可以指定不通的类型例如上面 var a, b = 1, false
也支持:=
形式的多变量声明
a, b := 1, false
只要 :=
左侧出现了新的变量就可以例如:
a, b := 1, false
b, c := false, 1
最新文章
- Google Code Jam 2010 Round 1B Problem A. File Fix-it
- CodeForces 455A	Boredom (DP)
- uva 567
- Linux学习笔记16——wait函数
- css3字阴影text-shadow
- 分享一个导出数据到 Excel 的类库
- Intelli idea 常用快捷键汇总
- IE中float元素如果同时设置了margin值,此时margin的值会变为双倍的解决方法
- 如何使用UDP进行跨网段广播(转)
- Scrollview中嵌套ListView(自定义组件解决)
- linux学习第十二天 (Linux就该这么学)找到一本不错的Linux电子书,附《Linux就该这么学》章节目录
- Python实例浅谈之三Python与C/C++相互调用
- Hbase记录-Hbase介绍
- json server的简单使用(附:使用nodejs快速搭建本地服务器)
- 《Linux 性能及调优指南》1.5 网络子系统
- django -- while time zone support is active
- js实现仿华为手机计算器,兼容电脑和手机屏幕
- (转)Unity3D - 性能优化之Draw Call
- .net 线程基础 ThreadPool 线程池
- Gulp新手入门教程
热门文章
- LR字符串处理函数-lr_save_int
- Excel随机生成批量日期,以及注意事项
- 从字符串到常量池,一文看懂String类设计
- cc21a -c++重载成员操作符*,->;,代码示范
- vc6.0的项目如何在整个项目中查询内容呢?试试vs2015
- SpringBoot中注入ApplicationContext对象的三种方式
- Java WebService(实战) 简单实例
- Perl入门(三)Perl的数组
- 小师妹学JVM之:java的字节码byte code简介
- STM32内存受限情况下摄像头驱动方式与图像裁剪的选择