Learn Golang in Day 8

栏目: Go · 发布时间: 5年前

Learn Golang in Day 8

变量作用域

  • 局部变量
  • 全局变量
  • 形参也是局部变量

局部变量

  • 函数内部声明的变量是局部变量
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)

}

全局变量

  • 函数体之外定义的变量都是全局变量
  • 全局变量可以在整个包作用域内使用,外部包使用时需要导出
package main

import "fmt"

/* 声明全局变量 */
var g int

func main() {
    var a, b int 

    /* 初始化参数 */
  a = 10
    b = 20

    g = a + b

    fmt.Printf("result: a = %d, b = %d, g = %d\n", a , b, )
    fmt.Printf("a and b is local variable , but g is global variable.\n")
}

形式参数 formal paramter

  • 形式参数也是局部变量
  • 对局部变量的修改,只对当前作用域有效
package main

import "fmt"

//全局变量
var a int = 20

func main() {
    /* 局部变量 */
    var a int = 10
    var b int = 20
    var c int = 0

    fmt.Printf("a =%d in the main function.\n", a)
    c = sum(a,b)
    fmt.Printf("c = %d in the main function.\n", c)
    fmt.Printf("a=%d, in main function.\n", a)
}


func sum(a, b int) int {
    a++
fmt.Printf("a=%d, in sum function.\n", a)
fmt.Printf("b=%d, in sum function.\n", b)
return a + b
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Fluent Python

Fluent Python

Luciano Ramalho / O'Reilly Media / 2015-8-20 / USD 39.99

Learn how to write idiomatic, effective Python code by leveraging its best features. Python's simplicity quickly lets you become productive with it, but this often means you aren’t using everything th......一起来看看 《Fluent Python》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具