多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國(guó)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2

go教程

Go 語(yǔ)言函數(shù)

閱讀 (2259)

Go 語(yǔ)言函數(shù)

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

Go 語(yǔ)言最少有個(gè) main() 函數(shù)。

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

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

Go 語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供了多種可動(dòng)用的內(nèi)置的函數(shù)。例如,len() 函數(shù)可以接受不同類(lèi)型參數(shù)并返回該類(lèi)型的長(zhǎng)度。如果我們傳入的是字符串則返回字符串的長(zhǎng)度,如果傳入的是數(shù)字,則返回?cái)?shù)組中包含的函數(shù)個(gè)數(shù)。


函數(shù)定義

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

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

函數(shù)定義解析:

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

實(shí)例

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

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

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

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

當(dāng)創(chuàng)建函數(shù)時(shí),你定義了函數(shù)需要做什么,通過(guò)調(diào)用改函數(shù)來(lái)執(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( "最大值是 : %d\n", ret )
}

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

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

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

最大值是 : 200

函數(shù)返回多個(gè)值

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

package main

import "fmt"

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

func main() {
   a, b := swap("Mahesh", "Kumar")
   fmt.Println(a, b)
}

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

Kumar Mahesh

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

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

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

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

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

默認(rèn)情況下,Go 語(yǔ)言使用的是值傳遞,即在調(diào)用過(guò)程中不會(huì)影響到實(shí)際參數(shù)。


函數(shù)用法

函數(shù)用法 描述
函數(shù)作為值 函數(shù)定義后可作為值來(lái)使用
閉包 閉包是匿名函數(shù),可在動(dòng)態(tài)編程中使用
方法 方法就是一個(gè)包含了接受者的函數(shù)
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲国产欧美在线人成精品一区二区 | 亚洲免费网站观看视频 | 国产欧美精品一区二区三区 | 亚洲精品短视频 | 欧美一区二区丝袜高跟鞋 | 成人国产在线不卡视频 | 中国老头gay高清xxxx | 欧美一级视频免费 | 午夜久久久久久 | 日韩视频在线一区 | a丫久久久久久一级毛片 | 午夜宅男视频 | 性欧美高清videosex | 精品国产欧美另类一区 | 久久性久久性久久久爽 | 久久久久avav久久久 | 亚洲国产精品综合一区在线 | 国产综合在线播放 | 中文字幕看片在线a免费 | 日韩欧美一区二区三区不卡在线 | 久久久久亚洲日日精品 | 在线18| 亚洲精品成人网 | 日本一区免费看 | 国产福利一区二区三区在线视频 | 一级免费毛片 | 亚洲欧美视频在线 | 免费h| 欧美日韩第一区 | 亚州不卡 | 一级aaaaaa毛片免费同男同女 | 综合自拍亚洲综合图区美腿丝袜 | 欧美xxxxxxxxxx黑人 | 精品国产免费一区二区三区 | 亚洲欧美日韩中文字幕久久 | 精品一区二区三区18 | 国产尤物精品视频 | 亚洲免费观看在线视频 | 综合久久久久久 | 国产亚洲欧美视频 | 在线观看视频网站www色 |