2021-10-22
创新互联建站专注于雄县网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供雄县营销型网站建设,雄县网站制作、雄县网页设计、雄县网站官网定制、小程序开发服务,打造雄县网络公司原创品牌,更为您提供雄县网站排名全网营销落地服务。
每一个变量(常量、类型或函数)在程序中都有一定的作用范围。称之为作用域。
Go语言在编译时会检查每一个变量是否使用过,未使用过的变量就会编译错误。
根据变量定义位置的不同,可以分为以下三个类型:
在函数体内被声明的变量称之为局部变量,作用在函数体内,函数的参数和返回值变量都属于局部变量。局部变量不会一直存在,在函数被调用时存在,函数调用结束后变量就会被销毁,即生命周期。
例子:其中a、b均为局部变量,只会在main函数内有效
在函数体外被声明的变量称之为全局变量,作用于所有源文件。不包含这个全局变量的源文件需要使用"import"关键字引入全局变量所在的源文件之后才能使用这个全局变量。
全局变量声明必须以 var 关键字开头,如果想要在外部包中使用全局变量的首字母必须大写。
例如:global为全局在main2和main函数中都能使用
函数名后面的小括号里定义的变量, 用于接受来自调用函数的参数。用于接收调用该函数时传入的参数。
例如:下面的例子中,第十七行a、b为sum函数定义的形参,用于传入main函数中的AF、BF
局部变量
在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。
以下实例中 main() 函数使用了局部变量 a, b, c:
package main
import "fmt"
func main() {
/* 声明局部变量 */
var a, b, c int
/* 初始化参数 */
a = 10
b = 20
c = a + b
fmt.Printf ("结果: a = %d, b = %d and c = %d\n", a, b, c)
}
以上实例执行输出结果为:
结果: a = 10, b = 20 and c = 30
全局变量
在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。
全局变量可以在任何函数中使用,以下实例演示了如何使用全局变量:
package main
import "fmt"
/* 声明全局变量 */
var g int
func main() {
/* 声明局部变量 */
var a, b int
/* 初始化参数 */
a = 10
b = 20
g = a + b
fmt.Printf("结果: a = %d, b = %d and g = %d\n", a, b, g)
}
以上实例执行输出结果为:
结果: a = 10, b = 20 and g = 30
Go 语言程序中全局变量与局部变量名称可以相同,但是函数内的局部变量会被优先考虑。实例如下:
package main
import "fmt"
/* 声明全局变量 */
var g int = 20
func main() {
/* 声明局部变量 */
var g int = 10
fmt.Printf ("结果: g = %d\n", g)
}
以上实例执行输出结果为:
结果: g = 10
Go语言里面定义变量有多种方式。
使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面:
//定义一个名称为“variableName”,类型为"type"的变量
var variableName type
定义多个变量
//定义三个类型都是“type”的变量
var vname1, vname2, vname3 type
定义变量并初始化值
//初始化“variableName”的变量为“value”值,类型是“type”
var variableName type = value