Golang 菜鳥教程

Golang 控制語句

Golang 函數(shù) & 方法

Golang 結(jié)構(gòu)體

Golang 切片 & 數(shù)組

Golang 字符串(String)

Golang 指針

Golang 接口

Golang 并發(fā)

Golang 異常(Error)

Golang 其他雜項(xiàng)

Go 語言函數(shù)

函數(shù)通常是程序中的代碼或語句塊,使用戶能夠重復(fù)使用相同的代碼,從而最終達(dá)到節(jié)省內(nèi)存,節(jié)省時(shí)間,更重要的是,提供了更好的代碼可讀性。因此,基本上函數(shù)是語句的集合,這些語句執(zhí)行某些特定的任務(wù)并將結(jié)果返回給調(diào)用方。函數(shù)也可以執(zhí)行某些特定任務(wù)而無需返回任何內(nèi)容。

函數(shù)聲明

函數(shù)聲明是一種構(gòu)造函數(shù)的方法。

語法:

func function_name(Parameter_list)(Return_type){
    // function body.....
}

該函數(shù)的聲明包含:

  • func:它是Go語言的關(guān)鍵字,用于創(chuàng)建函數(shù)。

  • function_name:它是函數(shù)的名稱。

  • Parameter_list:包含函數(shù)參數(shù)的名稱和類型。

  • Return_type:這是可選的,它包含函數(shù)返回的值的類型。如果在函數(shù)中使用return_type,則必須在函數(shù)中使用return語句。

函數(shù)調(diào)用

函數(shù)調(diào)用是在用戶希望執(zhí)行函數(shù)時(shí)完成的。需要調(diào)用函數(shù)才能使用它的功能。如下面的示例所示,我們有一個(gè)名為add()的函數(shù),它有兩個(gè)參數(shù)?,F(xiàn)在我們通過使用其名稱,即具有兩個(gè)參數(shù)的area(12,10)在主函數(shù)中調(diào)用此函數(shù)。

package main

import "fmt"

//area()用于查找矩形的面積
//函數(shù)的兩個(gè)參數(shù),即長(zhǎng)度和寬度
func area(length, width int) int {

    Ar := length * width
    return Ar
}

func main() {

    //顯示矩形的面積
    //通過方法調(diào)用
    fmt.Printf("矩形的面積 : %d", area(12, 10))
}

輸出:

矩形的面積 : 120

函數(shù)參數(shù)

在Go語言中,傳遞給函數(shù)的參數(shù)稱為實(shí)際參數(shù)(實(shí)參),而函數(shù)接收的參數(shù)稱為形式參數(shù)(形參)。

注意:默認(rèn)情況下,Go語言使用按值調(diào)用方法在函數(shù)中傳遞參數(shù)。

Go語言支持兩種向函數(shù)傳遞參數(shù)的方法:

  1. 按值調(diào)用:在此參數(shù)傳遞方法中,實(shí)際參數(shù)的值將復(fù)制到函數(shù)的形式參數(shù)中,并且兩種類型的參數(shù)存儲(chǔ)在不同的存儲(chǔ)位置中。因此,在函數(shù)內(nèi)部進(jìn)行的任何更改都不會(huì)反映在調(diào)用者的實(shí)際參數(shù)中。

    package main 
       
    import "fmt"
       
    // 交換值的函數(shù)
    func swap(a, b int)int{ 
      
        var o int
        o= a 
        a=b 
        b=o 
         
       return o  
    } 
       
    
    func main() { 
     var p int = 10 
     var q int = 20 
      fmt.Printf("p = %d 和 q = %d", p, q) 
       
     // call by values 
     swap(p, q) 
       fmt.Printf("\np = %d 和 q = %d",p, q) 
    }

    輸出:

    p = 10 和 q = 20
    p = 10 和 q = 20
  2. 通過引用調(diào)用:實(shí)際參數(shù)和形式參數(shù)都指向相同的位置,因此在函數(shù)內(nèi)部所做的任何更改實(shí)際上都反映在調(diào)用者的實(shí)際參數(shù)中。

    package main
    
    import "fmt"
    
    //交換值的函數(shù)
    func swap(a, b *int) int {
        var o int
        o = *a
        *a = *b
        *b = o
    
        return o
    }
    
    func main() {
    
        var p int = 10
        var q int = 20
        fmt.Printf("p = %d 和 q = %d", p, q)
    
        //引用調(diào)用
        swap(&p, &q)
        fmt.Printf("\np = %d 和 q = %d", p, q)
    }

    輸出:

    p = 10 和 q = 20
    p = 20 和 q = 10
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清