Swift的基本類型和流程式控制制,swift類型流程

來源:互聯網
上載者:User

Swift的基本類型和流程式控制制,swift類型流程

Swift  是一門靜態強型別語言。它以簡單、乾淨、可讀性好等特點著稱。

  

  

  

      1、 為什麼是靜態語言?

    首先靜態語言比之動態語言,更具有安全性。它不允許類型之間自動的進行轉換,必須要顯示的轉換。Swift是型別安全的,它會在編譯的時候就檢查你的代碼,任何類型不符時都會報錯。這使得編程人員能夠儘快捕獲並儘可能早地在開發過程中修正錯誤。但是,這並不意味著你必須指定每一個常量和變數所聲明的類型。如果不指定你需要的類型,Swift使用類型推導來指定出相應的類型。類型推導使編譯器在編譯的時候通過你提供的初始化值自動推匯出特定的運算式的類型。類型推導使Swift比起C或Objective-C只需要更少的型別宣告語句。常量和變數仍然顯式類型,但大部分指定其類型的工作Swift已經為你完成了。當你聲明一個常量或變數並給出初始實值型別的時候,類型推導就顯得特別有用。這通常是通過給所聲明的常量或變數賦常值來完成的。

  

  例如:你要聲明一個使用者名稱字串常量,並為他賦值叫“json”.

    let userName = "json"

  

    不必指定什麼類型,在編譯時間會通過類型推導的機制將常量userName 自動設為 賦的值的類型。

  

  

  2、什麼叫強型別語言?

        即變數或者常量,必須要先定義然後才能使用,否則會報錯。

 

好了 ,言歸正傳,下面給大家介紹下swift的基本類型和流程式控制制

  

  

  3、基本類型

     包括整形Int、浮點數Double和Float、布爾類型Bool以及字串類型String。Swift還提供了兩種更強大的基本集合資料類型,Array和Dictionary。這裡要提到。除基礎資料型別 (Elementary Data Type)外,swift還有一個稱為“元祖”的資料類型,這是他專屬的。後面我會給大家解釋。

      4、常量和變數

  

    常量和變數的命名方式還是採用大家熟悉的”駝峰“命名。常量指向一個特定類型的值,一旦賦值,不能再次修改。變數也是指向一個特定類型的值,但它可以根據需要做出修改。另外swift的宗旨是簡潔,所以每行可不寫分號

    前面說了,swift是強型別的語言,所以它的常量和變數需要先聲明再使用。那麼常量和變數怎麼聲明呢?

    常量的聲明:

      let開頭,表明你要聲明一個常量  後接變數名,一般採用駝峰命名方式命名,用=符號串連  ,再接你要賦的值。如果這時你不指定初始值,需指定常量類型。

      例如:  let usreName  =  "tom"   //聲明時賦值

          let userName String  ///聲明時不初始化值

           userName = "tom"

    注意:由於swift的文法要求規劃化,所以值和運算子之間要麼都不留空格,要麼都留空格。

    值得注意的是在聲明字元時有所不同,學過其他進階語言的朋友都知道,其他進階語言在聲明字元時一般把值用單引號引住,然swift有所不同,它的字元賦值還是用雙引號,但要用註解聲明。

  例如:

    var ch :Character = "c"  // 字元值 必須用雙引號,並且是一個字元

  用let開頭聲明的常量,在賦值後,不能做修改。

  

 

   變數的聲明:

     var 開頭,其他的於常量的聲明一致,這裡就不在詳細描敘,大家參照常量的聲明。

 

   5、流程式控制制

  

    

  if  esle:

  

  例如:

  

  let i = 1

  

   if   i  {

  

    print("編寫錯誤!")

  }

  

  就swift 而言  ,這種寫法是錯誤的。i是一個常量,不是一個運算式,也就不能當成是boolean類型來用。

  正確的編寫應該是:

  

  let i = 1

  

 

   if   i ==1 {

 

  

 

    print("編寫正確!")

 

  }

  

 

  for :有兩個形式。

  第一種:例如:

 

  

  for  var i = 0;i < 1000;i++{

    print("說一千遍我愛你!")

  }

  

  

  第二種:例如:

  

  let array = [0,1,2,3,4,5,6,7,8,9]

  for a in array {

    print("\(a),")   //輸出結果為:0,1,2,3,4,5,6,7,8,9

  }

  

  第二種方法相比於第一種,最明顯的是不用知道數組的長度,就可以遍曆出每個元素。

 

  while :也是迴圈控制語句。可以和for之間完美轉換。例如:

  

  

   var  i = 0

  

  

  while   i < 1000 {

  

      print("說一千遍我愛你!")

                i++

  }

repeat while:迴圈控制語句,跟java的do while一樣的作用,都是先執行一次,再判斷條件。例如:

  

  var  i = 0

  repear {

 

    print("說一千遍我愛你!")

                i++

 

 

  } while i < 1000

 

 

switch:分支判斷語句。以前我們有的朋友也學過,但swift中switch的作用更加強大和突出了。它可以接收任意的常量和變數,只要前後的類型保持一致。例如:

let i = "abc"

switch i{

  case "abc":

    print ("abc")

  default:

    print ("其他情況")

}

注意:Swift要求switch 是個完整的結構,也就是說switch中必須有一個case以上和一個default。

好了,今天的分享就到這。希望可以幫到剛剛學習ios或者想要學ios的朋友們,我也是新手,有不足和不對的地方求大神指正。讓我們一同進步!大家可以關注我的微博http://www.cnblogs.com/lb0129/

 

 

  

 

  

  

    

  

 

      

      

      

    

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.