国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

F#泛型

2018-12-16 10:27 更新

泛型允許延遲類(lèi)或方法中的編程元素的數(shù)據(jù)類(lèi)型的規(guī)范,直到它在程序中實(shí)際使用。 換句話(huà)說(shuō),泛型允許你編寫(xiě)一個(gè)可以處理任何數(shù)據(jù)類(lèi)型的類(lèi)或方法。
您可以使用數(shù)據(jù)類(lèi)型的替代參數(shù)來(lái)編寫(xiě)類(lèi)或方法的規(guī)范。 當(dāng)編譯器遇到類(lèi)的構(gòu)造函數(shù)或方法的函數(shù)調(diào)用時(shí),它會(huì)生成代碼來(lái)處理特定的數(shù)據(jù)類(lèi)型。
在F#中,函數(shù)值,方法,屬性和聚合類(lèi)型(如類(lèi),記錄和區(qū)別聯(lián)合)可以是通用的。
通用結(jié)構(gòu)包含至少一個(gè)類(lèi)型參數(shù)。 通用函數(shù)和類(lèi)型使您能夠編寫(xiě)適用于各種類(lèi)型的代碼,而無(wú)需重復(fù)每種類(lèi)型的代碼。

語(yǔ)法

編寫(xiě)通用構(gòu)造的語(yǔ)法如下 

// Explicitly generic function.
let function-name<type-parameters> parameter-list =
   function-body

// Explicitly generic method.
[ static ] member object-identifer.method-name<type-parameters> parameter-list [ return-type ] =
   method-body

// Explicitly generic class, record, interface, structure,
// or discriminated union.
type type-name<type-parameters> type-definition

例子

(* Generic Function *)
let printFunc (x: 'a) =
   do printfn "%A" x

let gr = new genericClass<string>("zara")
let gs = genericClass( seq { for i in 1 .. 10 -> (i, i*i) } )

當(dāng)你編譯和執(zhí)行程序,它產(chǎn)生以下輸出 

"zara"
seq [(1, 1); (2, 4); (3, 9); (4, 16); ...]
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)