Golang开发--全局变量/局部变量

1.全局变量
在函数体外声明的变量,它可以在整个包中使用,包被导入后也可以被使用

package main
import "fmt"

var te =10
func main(){
	testfunc()
	fmt.Println("te=",te)
}
func testfunc(){
	var tt int
	tt=te*te
	fmt.Println("te*te=",tt)
}

运行结果为:

te*te= 100
te= 10

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

package main
import  "fmt"
var quanju=10  //全局变量
func main(){
	//fmt.Println("jubu=",jubu)
	fmt.Println("quanju=",quanju)
	a:= [5] int {100,40,78,96,34}
	fmt.Println("The max number is:",mymax(a))
}

func mymax(arr [5] int) int{
	var i,res int
	//var jubu=100  局部变量
	for i=0;i<len(arr);i++{
		if (res>arr[i]){
			res=res
		}else{
			res=arr[i]
		}
	}
	return res
}

运行结果为:

quanju= 10
The max number is: 100

3.局部变量和全局变量同名
全局变量与局部变量名称可以相同,但是函数内的局部变量会被优先考虑

package main
import  "fmt"
var quanju=10
func main(){
	var quanju=100
	fmt.Println("quanju=",quanju)
}
//quanju=100

你可能感兴趣的:(go,golang)