真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

golang形參要求是什么

本文小編為大家詳細(xì)介紹“golang形參要求是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“golang形參要求是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

創(chuàng)新互聯(lián)成立于2013年,先為禮縣等服務(wù)建站,禮縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為禮縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

Go語(yǔ)言中函數(shù)的參數(shù)就是形參,它是局部變量,其值由參數(shù)調(diào)用者提供;如果相鄰的幾個(gè)形參的類型相同,那么可以省略前幾個(gè)參數(shù)的類型,只需要寫(xiě)最后一個(gè)參數(shù)的類型即可,語(yǔ)法“func funcName(形參1, 形參2 參數(shù)類型1, 形參3,形參4 參數(shù)類型2, ...)(返回值列表){ //執(zhí)行語(yǔ)句...return 返回值列表}”。

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

Go 語(yǔ)言 中 函數(shù) 的參數(shù),為形式參數(shù),即如果我們通過(guò)傳值的方式,傳遞的參數(shù)其實(shí)是實(shí)際參數(shù)的一份拷貝,而不是真正的實(shí)際參數(shù)。形參是局部變量,其值由參數(shù)調(diào)用者提供。

在 Go 語(yǔ)言中,如果相鄰的幾個(gè)函數(shù)參數(shù)的類型相同,那么我們可以省略前幾個(gè)參數(shù)的類型,只需要寫(xiě)最后一個(gè)參數(shù)的類型即可。

func funcName(param1, param2 paramType1, param3, param4 paramType2, ...)(returnVal returnType){	// 執(zhí)行語(yǔ)句...
	return 返回值列表
}

  說(shuō)明

  • 參數(shù) param1 和參數(shù) param2 的類型相同,那么我們就可以省略 param1 后面的參數(shù)類型,直接在 param2 后面寫(xiě)類型。

  • 參數(shù) param3 和參數(shù) param4 的類型相同,那么我們就可以省略 param3 后面的參數(shù)類型,直接在 param4 后面寫(xiě)類型。

  • returnVal returnType為返回值列表,描述了函數(shù)返回值的變量名以及類型,如果函數(shù)返回一個(gè)無(wú)名變量或者沒(méi)有返回值,返回值列表的括號(hào)是可以省略的。

案例

用函數(shù),實(shí)現(xiàn)尋找兩個(gè)數(shù)的最大公約數(shù)

package main
import (
	"fmt"
)
func gcdnormal(x, y int) int {
	var n int
	if x > y {
		n = y
	} else {
		n = x
	}
	for i := n; i >= 1; i-- {
		if x%i == 0 && y%i == 0 {
			return i
		}
	}
	return 1
}
func main() {
	//用函數(shù),實(shí)現(xiàn)計(jì)算兩個(gè)數(shù)的最大公約數(shù)
	gcd := gcdNormal(10,20)
	fmt.Println("Gcd =", gcd)
}

程序運(yùn)行后,控制臺(tái)輸出如下:

golang形參要求是什么

我們定義了一個(gè)函數(shù) gcdNormal,傳入兩個(gè) int 類型 的參數(shù) a 和 b,函數(shù)返回一個(gè) int 類型的 變量。該函數(shù)使用了窮舉法實(shí)現(xiàn)了求參數(shù) a 和 參數(shù) b 的最大公約數(shù)的邏輯,因?yàn)閰?shù) a 和參數(shù) b 的類型都是 int 類型,因此我們省略了參數(shù) a 后面的類型,直接寫(xiě)在參數(shù) b 后面。

在 main() 函數(shù)里面,我們調(diào)用了 gcdNormal 函數(shù),并傳入了兩個(gè)參數(shù) 10 和 20,使用 gcd 變量來(lái)接受 gcdNormal 函數(shù)返回的值,最后使用 Println() 函數(shù)打印最后的結(jié)果。

函數(shù)參數(shù)是形參

Go 語(yǔ)言的函數(shù)參數(shù)是形參,對(duì)函數(shù)參數(shù)的修改不會(huì)影響實(shí)參

package main
import (
"fmt"
)
func change(a int) {
a += 100
}
func main() {
//Go語(yǔ)言的函數(shù)參數(shù)是函數(shù)參數(shù),對(duì)函數(shù)參數(shù)的修改不會(huì)影響實(shí)參
a := 10
change(a)
fmt.Println("a =", a)
}

程序運(yùn)行后,控制臺(tái)輸出如下:

golang形參要求是什么

我們定義了一個(gè)函數(shù) change(),傳入一個(gè) int 類型的參數(shù) a,在函數(shù)體中,對(duì)該函數(shù)的參數(shù)實(shí)現(xiàn)加 100 的操作。

在 main() 函數(shù)中,調(diào)用該函數(shù),并傳入變量 a,執(zhí)行完 change() 函數(shù)之后,我們?cè)俅未蛴∽兞?a 的值,發(fā)現(xiàn) a 的值還是10,并不是加 100 之后的 110。

因?yàn)樵?Go語(yǔ)言中,函數(shù)的參數(shù)是形式參數(shù),即是實(shí)參的拷貝,所以修改的不是實(shí)參,所以 a 的值不會(huì)改變。

通過(guò)函數(shù)參數(shù)修改實(shí)參

Go 語(yǔ)言的函數(shù)要通過(guò)函數(shù)參數(shù)修改實(shí)參,必須要使用指針類型

package main
import (
	"fmt"
)
func change(a *int) {
	*a += 100
}
func main() {
	//Go語(yǔ)言的函數(shù)要通過(guò)函數(shù)參數(shù)修改實(shí)參,必須要使用指針類型
	a := 10
	change(&a)
	fmt.Println("a =", a)
}

golang形參要求是什么

我們定義了一個(gè)函數(shù) change(),傳入一個(gè) int 指針類型的參數(shù) a,在函數(shù)體中,對(duì)該函數(shù)的參數(shù)實(shí)現(xiàn)加 100 的操作。

在 main() 函數(shù)中,調(diào)用該函數(shù),并傳入變量 a 的地址,執(zhí)行完 change() 函數(shù)之后,我們?cè)俅未蛴∽兞?a 的值,發(fā)現(xiàn) a 的值被增加了 100 變成了 110。

這里的 change() 函數(shù)因?yàn)閭魅氲氖?a 的地址,接著我們?cè)?change() 函數(shù)里面通過(guò)指針運(yùn)算符,獲取 a 的地址所指向的變量,再修改其值,其實(shí)修改的就是變量 a 本身的值。

讀到這里,這篇“golang形參要求是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)頁(yè)題目:golang形參要求是什么
本文地址:http://weahome.cn/article/isppch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部