GoLang學習

Go函數

  • Go函數定義函數

    func function_name( [parameter list] ) [return_types] {
       函數體
    }
    • func:Go的函數聲明關鍵字,聲明一個函數。
    • function_name:函數名稱,函數名和參數列表一塊兒構成了函數簽名。
    • parameter list:參數列表,指定的是參數類型、順序、及參數個數。參數是可選的,即函數能夠不包含參數。參數就像一個佔位符,這是參數被稱爲形參,當函數被調用時,將具體的值傳遞 給參數,這個值被稱爲實際參數。
    • return_types:返回類型,函數返回一列值。return_types 是該列值的數據類型。這裏須要注意的是Go函數支持多返回值。有些功能不須要返回值,這種狀況下 return_types 不是必須的。
    • 函數體:函數定義的代碼集合,表示函數完成的動做。

函數調用

  • 1.小寫字母開頭的函數只在本包內可見,大寫字母開頭的函數才能被其餘包使用。
  • 2.同時這個規則也適用於變量的可見性,即首字母大寫的變量纔是全局的指針

    func max(num1,num2 int) int  {
        var result int
        if num1 > num1 {
            result = num1
        }else {
            result = num2
        }
        return result
    }
    
    func main()  {
        var a int = 100
        var b int = 200
        var ret int
        ret = max(a,b)
        fmt.Println(ret)
    }
  • 多返回值code

    func swap(x,y string) (string,string)  {
         return y,x
     }
     func main()  {
         //a,b := swap("hello","world")
         a,_ := swap("hello","world") //只關注一個值可使用下劃線代替
         fmt.Println(a)
     }

函數參數

  • 值傳遞:指在調用函數時將實際參數複製一份傳遞到函數中,這樣在函數中若是對參數進行修改,將不會影響到實際參數。
  • 引用傳遞:是指在調用函數時將實際參數的地址傳遞到函數中,那麼在函數中對參數所進行的修改,將影響到實際參數。
* 值傳遞
    func main()  {
        var a int = 100
        var b int = 200
        fmt.Println("交換前",a)
        fmt.Println("交換後",b)
        swap(a,b)
        fmt.Println("交換後",a)
        fmt.Println("交換後",b)
    }
    func swap(x,y int) int  {
        var temp int
        temp = x
        x = y
        y = temp
        return temp
    }
* 執行結果
交換前 100
交換後 200
交換後 100
交換後 200
* 引用傳遞
    func main()  {
        var a int = 100
        var b int = 200
        fmt.Println("交換前",a)
        fmt.Println("交換後",b)
        /* 調用 swap() 函數
        &a 指向 a 指針,a 變量的地址
        &b 指向 b 指針,b 變量的地址
        */
        swap(&a,&b)
        fmt.Println("交換後",a)
        fmt.Println("交換後",b)
    }
    func swap(x,y *int) int  {
        var temp int
        temp = *x
        *x = *y
        *y = temp
        return temp
    }
* 執行結果
交換前 100
交換後 200
交換後 200
交換後 100

不定參數

相關文章
相關標籤/搜索