av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

F#簡(jiǎn)明教程三:F#語(yǔ)法精要

【獨(dú)家特稿】在上一節(jié)F#教程中,我們對(duì)F#的類(lèi)型系統(tǒng)和類(lèi)型推斷機(jī)制有了一個(gè)初步的認(rèn)識(shí)。F#的類(lèi)型推斷原理是學(xué)習(xí)F#的重要基礎(chǔ)。本節(jié)課程,我們將在F#類(lèi)型基礎(chǔ)上進(jìn)一步學(xué)習(xí)F#的一些基本語(yǔ)法。

創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站、網(wǎng)站重做改版、洪江管理區(qū)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場(chǎng)景定制、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為洪江管理區(qū)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

“l(fā)et”表達(dá)式是F#語(yǔ)法的核心,可以用作定義函數(shù)、序列等多種用途。另外,F(xiàn)#使用空格來(lái)標(biāo)記程序塊的開(kāi)始與結(jié)束。

定義值

 
 
 
 
  1. let x = 2 
   

定義函數(shù)值 

 
 
 
 
  1. let f a = a + x 

定義循環(huán)函數(shù)

 
 
 
 
  1. open System.IO   
  2. let rec printSubDirFiles dir =   
  3.    let fles = Directory.GetFiles dir  
  4.    let dirs =  Directory.GetDirectories dir   
  5.    printf “%s\n%A\n\n” dir fles  
  6.    Array.iter printSubDirFiles dirs 

此外,F(xiàn)#還提供傳統(tǒng)的循環(huán)和迭代等流程控制結(jié)構(gòu),比如if、for、while。但我們需要注意的是,F(xiàn)#中的“if…then”和“if…then…else”與傳統(tǒng)的面向?qū)ο笳Z(yǔ)言有些不同。在F#中,大多數(shù)表達(dá)式必須含有一個(gè)值,并且控制結(jié)構(gòu)“if…then…else”表達(dá)式的兩邊的值必須是同一類(lèi)型。注:F#的這種語(yǔ)法約定源自其推斷型語(yǔ)言的編譯機(jī)制,詳細(xì)請(qǐng)參考上一節(jié)教程中關(guān)于F#類(lèi)型推斷機(jī)制的介紹。

F#中的常用流程控制語(yǔ)句示例

與大多數(shù).NET平臺(tái)上的編程語(yǔ)言相似,F(xiàn)#也提供一些組織代碼的機(jī)制。事實(shí)上,F(xiàn)#提供模塊和命名空間兩種方式,下面的一些演示將給出C#和VB的命名空間。F#的模塊化不只局限與語(yǔ)法范圍,還提供模塊化的層級(jí)標(biāo)準(zhǔn),例如集合和函數(shù)。

F#的基礎(chǔ)代碼組織:命名空間、類(lèi)型和模型

 
 
 
 
  1. namespace MyFSharpProg  
  2. open System.Net  
  3. type Foo () =  
  4.   member x.GetRequest = WebRequest.  
  5. Create  
  6. module Main = begin  
  7.  // values and functions here  
  8. end 

與傳統(tǒng)的函數(shù)式編程原則相同,多數(shù)時(shí)候,F(xiàn)#的標(biāo)識(shí)符是不可變的。但F#允許定義和修改使用“mutable”保留字的值,或通過(guò)“ref”保留字改變其前面的引用。mutable的值可以通過(guò)左箭頭操作(“<-”);ref的值可以通過(guò)“:=”操作符制指定。我們可以通過(guò)“!”獲取ref的值。下面來(lái)看具體示例:

聲明/更新可變值

 
 
 
 
  1. let mutable x = 0  
  2. x <- x + 1 

 

聲明/更新參考值

 
 
 
 
  1. let x = ref 0  
  2. x := !x + 1 

 

F#小提示:在習(xí)慣了C#或Java等編程語(yǔ)言后,剛剛開(kāi)始F#編程,閱讀F#代碼感覺(jué)就像亂碼一樣。因?yàn)镕#為了保有函數(shù)式編程的一些優(yōu)秀特質(zhì),不得不引入一些如“<-”、“:=”、“!”等奇怪的符號(hào)作為操作符或運(yùn)算符;另外,F(xiàn)#在代碼中需要通過(guò)一些推斷機(jī)制來(lái)評(píng)判變量的類(lèi)型,在閱讀F#代碼時(shí),應(yīng)對(duì)F#的類(lèi)型系統(tǒng)做到心中有數(shù),所以,多數(shù)時(shí)候我們看到的是“l(fā)et”,而不是傳統(tǒng)的“int”、“string”、“float”等。希望大家能充分理解F#的類(lèi)型系統(tǒng)和類(lèi)型推斷機(jī)制,這是F#的重要基礎(chǔ),也是走進(jìn)函數(shù)式編程語(yǔ)言的重要一步。

【F#教程回顧】

  1. F#簡(jiǎn)明教程一:F#與函數(shù)式編程概述
  2. F#簡(jiǎn)明教程二:F#類(lèi)型系統(tǒng)和類(lèi)型推斷機(jī)制

網(wǎng)頁(yè)名稱(chēng):F#簡(jiǎn)明教程三:F#語(yǔ)法精要
URL地址:http://uogjgqi.cn/article/cogjhog.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流