日期: 2022-09-21 05:49:15 浏览数:8

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
临沧网页设计-高端网站设计公司

c main(){
var a int = 0
fmt.Println("for start")
for a = 0; a < 10; a++ {
fmt.Println(a)
}
fmt.Println("for end")
fmt.Println(a)
}
输出为:
for start
0
1
2
3
4
5
6
7
8
9
for end
10
此时 initialize 中的 a 便于外层的 a 为同一个变量,因此在执行完 for 循环后,输出 a 的值为 10。
所以大伙们在使用 for 循环的时候千万要注意呀。。。
李克森
李克森
635***754@qq.com
4年前 (2018-10-25)
Murphy
d20***jt@163.com
4
全局变量可以在整个包甚至外部包(被导出后)使用。
下述代码在 test.go 中定义了全局变量 Total_sum,然后在 hello.go 中引用。
test.go:
package main
import "fmt"
var Total_sum int = 0
func Sum_test(a int, b int) int {
fmt.Printf("%d + %d = %d ", a, b, a+b)
Total_sum += (a + b)
fmt.Printf("Total_sum: %d ", Total_sum)
return a+b
}
hello.go:
package main
import (
"fmt"
)
func main() {
var sum int
sum = Sum_test(2, 3)
fmt.Printf("sum: %d; Total_sum: %d ", sum, Total_sum)
}
Murphy
Murphy
d20***jt@163.com
3年前 (2019-09-27)
akai
lkc***@126.com
19
可通过花括号来控制变量的作用域,花括号中的变量是单独的作用域,同名变量会覆盖外层。
1.
a := 5
{
a := 3
fmt.Println("in a = ", a)
}
fmt.Println("out a = ", a)
输出:
in a = 3
out a = 5
2.
a := 5
{
fmt.Println("in a = ", a)
}
fmt.Println("out a = ", a)
输出:
in a = 5
out a = 5
3.
临沧网页设计-高端网站设计公司
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)
参使用,比较 sum 函数中的 a 和 main 函数中的 a,sum 函数中虽然加了 1,但是 main 中还是原值 10:
package mainimport "fmt"/* 声明全局变量 */var a int = 20func main() { /* main 函数中声明局部变量 */ var a int = 10 var b int = 20 var c int = 0 fmt.Printf("main()函数中 a = %d ", a) c = sum(a, b) fmt.Printf("main()函数中 a = %d ", a) fmt.Printf("main()函数中 c = %d ", c)}/* 函数定义-两数相加 */func sum(a, b int) int { a = a + 1 fmt.Printf("sum() 函数中 a = %d ", a) fmt.Printf("sum() 函数中 b = %d ", b) return a + b}输出为:
草原
mus***cn@163.com
李克森
635***754@qq.com
package mainimport "fmt"func main(){ var a int = 0 fmt.Println("for start") for a:=0; a < 10; a++ { fmt.Println(a) } fmt.Println("for end") fmt.Println(a)}输出为:
在 for 循环的 initialize(a:=0) 中,此时 initialize 中的 a 与外层的 a 不是同一个变量,initialize 中的 a 为 for 循环中的局部变量,因此在执行完 for 循环后,输出 a 的值仍然为 0。
package mainimport "fmt"func main(){ var a int = 0 fmt.Println("for start") for a = 0; a < 10; a++ { fmt.Println(a) } fmt.Println("for end")