zoukankan      html  css  js  c++  java
  • 8.18Go之变量作用域

    8.18Go之变量作用域

    变量位置不同其作用域可以分为以下三个类型

    • 局部变量--->函数内定义的变量

    • 全局变量--->函数外定义的变量

    • 形参--->参数列表当中定义的变量


    局部变量

    特点:

    • 作用域只在函数体内,函数的参数和返回值变量都属于局部变量。

    • 函数调用结束后这个局部变量就会被销毁。

    • Go语言中局部变量声明以后必须使用

    示例:

    package main

    import "fmt"

    func main() {
    var a = 3
    var b = 4
    c := a+b
    fmt.Println("a与b的和为:", c)
    }

    全局变量

    特点:

    • 函数体外声明的变量

    • 全局变量只需要在一个源文件中定义,就可以在所有源文件中使用--->需要使用import关键字引入全局变量所在的包

    • 全局变量声明必须以var 关键字开头,在外部包中使用全局变量的首字母必须大写。

    • Go中全局变量可以声明不使用

    示例:

    package main

    import "fmt"

    var globalVariable int //这是一个全局变量

    func main() {
    c := 3 //这是一个局部变量
    /*
    声明了全局变量但不使用
    */
    fmt.Println(c)
    }

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

    形参

    特点:

    • 定义函数时函数名后面括号中的变量叫做形式参数(简称形参)

    • 形式参数只在函数调用时才会生效,函数调用结束后就会被销毁,

    • 函数未被调用时,函数的形参并不占用实际的存储单元,也没有实际值。

    示例:

    package main

    import "fmt"

    func bubbleSortNo2(brr []int) {
    for i := 0; i < (len(brr)-1); i++ {
    for j := 0; j < (len(brr) - 1 - i); j++ {
    if brr[j]-brr[j+1] > 0 {
    temp := brr[j]
    brr[j] = brr[j+1]
    brr[j+1] = temp
    }
    }
    }
    for i, j := range brr {
    fmt.Println("第", i, "号为的值为:", j)
    }
    }

    func main() {
    arrays := []int{7,9,6,5,3}
    bubbleSortNo2(arrays)
    }
    /*
    brr是形参
    */

     

  • 相关阅读:
    uva 11294 Wedding
    uvalive 4452 The Ministers’ Major Mess
    uvalive 3211 Now Or Later
    uvalive 3713 Astronauts
    uvalive 4288 Cat Vs. Dog
    uvalive 3276 The Great Wall Game
    uva 1411 Ants
    uva 11383 Golden Tiger Claw
    uva 11419 SAM I AM
    uvalive 3415 Guardian Of Decency
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/15169314.html
Copyright © 2011-2022 走看看