在go語言中,泛型就是編寫模板適應(yīng)所有類型,只有在具體使用時才定義具體變量類型;通過引入類型形參和類型實參的概念,讓一個函數(shù)能夠處理多種不同類型數(shù)據(jù)的能力,這種編程方式被稱為泛型編程。
php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點擊使用
本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。
Go 1.18 版本新增了一個功能:支持泛型編程。
如果是其他語言轉(zhuǎn) Go 語言的開發(fā)者,那么能夠理解什么是泛型,以及如何使用?
但只是 Go 語言的初學(xué)者,并沒有接觸過泛型編程的人來說,這個功能可能一頭霧水。
本文希望能讓為接觸泛型編程的人也能很好的理解和使用 Go 的泛型
A general guideline for programming Go: write Go programs by writing code, not by defining types
Go 編程的通用準(zhǔn)則:通過編寫代碼,而不是定義類型來寫 Go 程序
什么是泛型?
泛型就是編寫模板適應(yīng)所有類型,只有在具體使用時才定義具體變量類型
函數(shù)的形參和實參
函數(shù)定義時的參數(shù)是形參 (parameter),在實際使用函數(shù)傳入的參數(shù)為實參 (argument)
假設(shè)有一個加法函數(shù),這個函數(shù)有兩個參數(shù)都是 int
類型,返回值也是 int
;定義如下:
func Test(a,b int) int { return a + b }
如果傳入的兩個實參都是 int
類型,那么函數(shù)自然能夠正常執(zhí)行。但是這個函數(shù)只能用來做 int
類型的加法運算,假設(shè)還需要進(jìn)行 float64
類型的加法運算,我們就需要再寫一個函數(shù)?!?/p>