变量

变量介绍

变量这个词来源于数学,类似方程中的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类型值为5a就是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

最新文章

  1. Google Code Jam 2010 Round 1B Problem A. File Fix-it
  2. CodeForces 455A Boredom (DP)
  3. uva 567
  4. Linux学习笔记16——wait函数
  5. css3字阴影text-shadow
  6. 分享一个导出数据到 Excel 的类库
  7. Intelli idea 常用快捷键汇总
  8. IE中float元素如果同时设置了margin值,此时margin的值会变为双倍的解决方法
  9. 如何使用UDP进行跨网段广播(转)
  10. Scrollview中嵌套ListView(自定义组件解决)
  11. linux学习第十二天 (Linux就该这么学)找到一本不错的Linux电子书,附《Linux就该这么学》章节目录
  12. Python实例浅谈之三Python与C/C++相互调用
  13. Hbase记录-Hbase介绍
  14. json server的简单使用(附:使用nodejs快速搭建本地服务器)
  15. 《Linux 性能及调优指南》1.5 网络子系统
  16. django -- while time zone support is active
  17. js实现仿华为手机计算器,兼容电脑和手机屏幕
  18. (转)Unity3D - 性能优化之Draw Call
  19. .net 线程基础 ThreadPool 线程池
  20. Gulp新手入门教程

热门文章

  1. LR字符串处理函数-lr_save_int
  2. Excel随机生成批量日期,以及注意事项
  3. 从字符串到常量池,一文看懂String类设计
  4. cc21a -c++重载成员操作符*,->,代码示范
  5. vc6.0的项目如何在整个项目中查询内容呢?试试vs2015
  6. SpringBoot中注入ApplicationContext对象的三种方式
  7. Java WebService(实战) 简单实例
  8. Perl入门(三)Perl的数组
  9. 小师妹学JVM之:java的字节码byte code简介
  10. STM32内存受限情况下摄像头驱动方式与图像裁剪的选择