中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

Go 語言函數(shù)

函數(shù)是基本的代碼塊,用于執(zhí)行一個任務(wù)。

Go 語言最少有個 main() 函數(shù)。

你可以通過函數(shù)來劃分不同功能,邏輯上每個函數(shù)執(zhí)行的是指定的任務(wù)。

函數(shù)聲明告訴了編譯器函數(shù)的名稱,返回類型,和參數(shù)。

Go 語言標準庫提供了多種可動用的內(nèi)置的函數(shù)。例如,len() 函數(shù)可以接受不同類型參數(shù)并返回該類型的長度。如果我們傳入的是字符串則返回字符串的長度,如果傳入的是數(shù)組,則返回數(shù)組中包含的元素個數(shù)。


函數(shù)定義

Go 語言函數(shù)定義格式如下:

func function_name( [parameter list] ) [return_types] {
   函數(shù)體
}

函數(shù)定義解析:

  • func:函數(shù)由 func 開始聲明
  • function_name:函數(shù)名稱,函數(shù)名和參數(shù)列表一起構(gòu)成了函數(shù)簽名。
  • parameter list:參數(shù)列表,參數(shù)就像一個占位符,當函數(shù)被調(diào)用時,你可以將值傳遞給參數(shù),這個值被稱為實際參數(shù)。參數(shù)列表指定的是參數(shù)類型、順序、及參數(shù)個數(shù)。參數(shù)是可選的,也就是說函數(shù)也可以不包含參數(shù)。
  • return_types:返回類型,函數(shù)返回一列值。return_types 是該列值的數(shù)據(jù)類型。有些功能不需要返回值,這種情況下 return_types 不是必須的。
  • 函數(shù)體:函數(shù)定義的代碼集合。

實例

以下實例為 max() 函數(shù)的代碼,該函數(shù)傳入兩個整型參數(shù) num1 和 num2,并返回這兩個參數(shù)的最大值:

實例

/* 函數(shù)返回兩個數(shù)的最大值 */
func max(num1, num2 int) int {
? ?/* 聲明局部變量 */
? ?var result int

? ?if (num1 > num2) {
? ? ? result = num1
? ?} else {
? ? ? result = num2
? ?}
? ?return result
}

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

當創(chuàng)建函數(shù)時,你定義了函數(shù)需要做什么,通過調(diào)用該函數(shù)來執(zhí)行指定任務(wù)。

調(diào)用函數(shù),向函數(shù)傳遞參數(shù),并返回值,例如:

實例

package main

import "fmt"

func main() {
? ?/* 定義局部變量 */
? ?var a int = 100
? ?var b int = 200
? ?var ret int

? ?/* 調(diào)用函數(shù)并返回最大值 */
? ?ret = max(a, b)

? ?fmt.Printf( "最大值是 : %dn", ret )
}

/* 函數(shù)返回兩個數(shù)的最大值 */
func max(num1, num2 int) int {
? ?/* 定義局部變量 */
? ?var result int

? ?if (num1 > num2) {
? ? ? result = num1
? ?} else {
? ? ? result = num2
? ?}
? ?return result
}

以上實例在 main() 函數(shù)中調(diào)用 max()函數(shù),執(zhí)行結(jié)果為:

最大值是 : 200

函數(shù)返回多個值

Go 函數(shù)可以返回多個值,例如:

實例

package main

import "fmt"

func swap(x, y string) (string, string) {
? ?return y, x
}

func main() {
? ?a, b := swap("Google", "Runoob")
? ?fmt.Println(a, b)
}

以上實例執(zhí)行結(jié)果為:

Runoob Google

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

函數(shù)如果使用參數(shù),該變量可稱為函數(shù)的形參。

形參就像定義在函數(shù)體內(nèi)的局部變量。

調(diào)用函數(shù),可以通過兩種方式來傳遞參數(shù):

傳遞類型 描述
值傳遞 值傳遞是指在調(diào)用函數(shù)時將實際參數(shù)復(fù)制一份傳遞到函數(shù)中,這樣在函數(shù)中如果對參數(shù)進行修改,將不會影響到實際參數(shù)。
引用傳遞 引用傳遞是指在調(diào)用函數(shù)時將實際參數(shù)的地址傳遞到函數(shù)中,那么在函數(shù)中對參數(shù)所進行的修改,將影響到實際參數(shù)。

默認情況下,Go 語言使用的是值傳遞,即在調(diào)用過程中不會影響到實際參數(shù)。


函數(shù)用法

函數(shù)用法 描述
函數(shù)作為另外一個函數(shù)的實參 函數(shù)定義后可作為另外一個函數(shù)的實參數(shù)傳入
閉包 閉包是匿名函數(shù),可在動態(tài)編程中使用
方法 方法就是一個包含了接受者的函數(shù)