第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 Go 入門教程 Go 入門教程 22 Go 語言中的函數(shù)

Go 語言中的函數(shù)

本文來介紹 Go 語言中的函數(shù)。Go 語言的函數(shù)和其它語言的用法類似,但是 Go 語言中所有東西都是變量,包括函數(shù),函數(shù)在 Go 語言中也是變量的一種,所以函數(shù)名的命名規(guī)則和變量名相同,同時這個和我們后面要講解的函數(shù)式編程有關,目前本文僅介紹 Go 語言中函數(shù)的聲明使用。

1. 函數(shù)的定義和使用

Go 語言中,通過 func 關鍵字來聲明和定義函數(shù)。Go 語言和 C 語言不同,Go 語言函數(shù)的聲明和定義是一起的,不存在先聲明在定義,且聲明時不分前后均可互相調用。

代碼示例

package main

import "fmt"

func print(s string) {
    fmt.Println(s)
}

func main() {
    print("Hello Codey !")

}
  • 第 5 行:聲明并定義一個名叫 print 的函數(shù),函數(shù)接收一個 string 類型的參數(shù);
  • 第 6 行:函數(shù)體。一個輸出接收進來參數(shù)的值的語句;
  • 第 9 行:聲明并定義了一個叫main的函數(shù)。Go 語言中程序的入口就時 main 函數(shù),所有的程序都以main 函數(shù)作為入口;
  • 第 10 行:調用 print 函數(shù),傳入參數(shù)"Hello Codey !"。

執(zhí)行結果

圖片描述

2. 函數(shù)的返回值

Go 語言的函數(shù)的返回值也有些特殊,它可以一次返回**多個返回值,**Go 語言中如果是單返回值,可以直接在函數(shù)聲明的括號后面增加數(shù)據類型,代碼示例如下:

func Sum(a, b int) int //聲明并定義一個返回值為int數(shù)據類型的函數(shù)

若要返回多個返回值,則需要用括號包裹返回值,并使用,隔開所有返回值,代碼示例如下:

func Sum(a, b int) (int,string) //聲明并定義一個返回值為int和string數(shù)據類型的函數(shù)

返回的方式有兩種。一種是用 return 關鍵字加返回值直接返回,一種是聲明返回值變量,使用返回值變量直接返回。

2.1 使用 return+ 返回值返回

和其它語言不同的是,Go 語言可以一次返回多個值,多個值直接跟在 return 關鍵字之后,使用,隔開即可。

代碼示例

package main

import "fmt"

func SumAndProduct(a, b int) (int, int) {
    c := a + b
    d := a * b
    return c, d //同時返回c和d兩個變量
}

func main() {
    sum, product := SumAndProduct(1, 2) //接收多返回值的函數(shù)時,也需要用逗號隔開變量
    fmt.Println("a + b =", sum)
    fmt.Println("a * b =", product)
}

執(zhí)行結果

圖片描述

2.2 使用返回值變量返回

Go 語言還能直接在返回值處聲明變量,這個變量的作用域是整個函數(shù),并且會在 return 的時候直接返回。

代碼示例

package main

import "fmt"

func SumAndProduct(a, b int) (c int, d int) {
    c = a + b //因為c和d函數(shù)返回值處已經定義了,可以直接使用
    d = a * b
    return //直接返回,c和d自動傳出去
}

func main() {
    sum, product := SumAndProduct(1, 2) //接收多返回值的函數(shù)時,也需要用逗號隔開變量
    fmt.Println("a + b =", sum)
    fmt.Println("a * b =", product)
}

執(zhí)行結果

圖片描述

3. 小結

本文主要介紹了 Go 語言中函數(shù)的定義和使用。主要就是和其它語言比起來,Go 語言的函數(shù)更加強大,能夠多參數(shù)返回,返回值更是能直接寫做變量,且作用域為整個函數(shù)。