先举个栗子,全局作用域变量,与 := 符号声明赋值新变量

package main

import "fmt"

var a = "GG"

func main() {
n()
m()
n()
}
func n() {
fmt.Println(a)
}
func m() {
// 对于 := 定义的变量,新变量a与全局已定义的a变量同名,不在一个作用域
//所以golong定义新的变量a。遮住全局变量a,所以m()打印"66"
a := ""
fmt.Println(a)
}

局部变量

在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。

以下实例中 main() 函数使用了局部变量 a, b, c:

package main

import "fmt"

func main() {
/* 声明局部变量 */
var a, b, c int /* 初始化参数 */
a =
b =
c = a + b fmt.Printf ("结果: a = %d, b = %d and c = %d\n", a, b, c)
}

局部变量声明

全局变量

在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。

全局变量可以在任何函数中使用,以下实例演示了如何使用全局变量:

package main

import "fmt"

/* 声明全局变量 */
var g int func main() { /* 声明局部变量 */
var a, b int /* 初始化参数 */
a =
b =
//调用全局变量声明的g
g = a + b fmt.Printf("结果: a = %d, b = %d and g = %d\n", a, b, g)
}

全局变量引用

Go 语言程序中全局变量与局部变量名称可以相同,但是函数内的局部变量会被优先考虑。实例如下:

package main

import "fmt"

/* 声明全局变量 */
var g int = func main() {
/* 声明局部变量 */
var g int = fmt.Printf ("结果: g = %d\n", g)
} //结果是g = 10 ,优先考虑局部变量

形式参数

形式参数会作为函数的局部变量来使用。

package main

import "fmt"

/* 声明全局变量 */
var a int = ; func main() {
/* main 函数中声明局部变量 */
var a int =
var b int =
var c int = fmt.Printf("main()函数中 a = %d\n", a);
c = sum( a, b);
fmt.Printf("main()函数中 c = %d\n", c);
} /* 函数定义-两数相加 */
func sum(a, b int) int {
fmt.Printf("sum() 函数中 a = %d\n", a);
fmt.Printf("sum() 函数中 b = %d\n", b); return a + b;
}

形式参数

初始化局部和全局变量

不同类型的局部和全局变量默认值为:

数据类型 初始化默认值
int 0
float32 0
pointer nil

最新文章

  1. css样式
  2. Centos6 安装 Redis
  3. Android开发环境搭建全程演示(jdk+eclipse+android sdk)
  4. 【MyEclipse 2015】 逆向破解实录系列【1】(纯研究)
  5. graph_tool源码及其注释
  6. [css3]搜索框focus时变长
  7. Android改变了PDA市场格局
  8. linux标准输入输出重定向
  9. json对象与字符串的相互转换,数组和字符串的转换
  10. [Immutable.js] Lightning Fast Immutable.js Equality Checks with Hash Codes
  11. POJ 2226 Muddy Fields(最小顶点覆盖)
  12. Redmine管理项目3-调整用户显示格式
  13. IOS开发中摇一摇是怎么实现的
  14. SSM-SpringMVC-06:SpringMVC关于静态资源无法展示的问题
  15. java8中stream的map和flatmap的理解
  16. 论文阅读笔记三十四:DSSD: Deconvolutiona lSingle Shot Detector(CVPR2017)
  17. WPF应用程序exe接收参数
  18. python cook 2
  19. 【WPF】对话框/消息弹窗
  20. web之前端获取上传图片并展示

热门文章

  1. BZOJ4977: [[Lydsy1708月赛]跳伞求生(不错的贪心)
  2. windows常用DLL及作用
  3. Linux内核 runtime_PM 框架
  4. C++等语言中整型int等的取值范围计算方式
  5. mysql索引优化续
  6. HDU6128-Inverse of sum
  7. Codeforces Round #456 B题
  8. javascript精髓篇之原型链维护和继承.
  9. Oracle的操作系统身份认证(转)
  10. jquery使用js的一些疼处