天天看點

窺探Swift之基本資料類型

  在上一篇部落格“窺探Swift程式設計之在Playground上盡情的玩耍”中介紹了如何使用Playground來學習Swift語言。本篇部落格就使用Playground來窺探Swift語言。千裡之行始于足下,當然了,除非你是坐的高鐵或者飛機。還是那句話從基礎開始吧,本篇部落客要介紹一下Swift的基本資料類型。Swift中的資料類型可謂是百花齊放百家争鳴,下面就來窺探一下Swift中的基本資料類型。

  一、Swift中的變量和常量

  1.關鍵字“let”

    常量,顧名思義,常量的值是不可以被再次改變的,比如你給number賦一個初始值"swift",那麼number從你給它指派的那一刻就代表着"swift"。就像你從生下來就是男的或者女的,你不能從一個真正的男的變成真正的女的,反過來也是不成立的。當然後天如果你去了趟泰國那就不算了,如果後天變性的,編譯器會報錯,說你這是人妖,是編譯不過去的。說着說着又跑偏了,言歸正傳,在Swift中使用let關鍵字來建立一個常量并賦初始值後,那麼該常量的值就不能被改變了,如果你在使用中嘗試着去改變它,那麼編譯器真的會報錯的。在OC和C++中可以用關鍵const來定義常量,而Swift中使用的是let。

    下面的代碼段定義一個名為gender的常量,并且指派為"我是男的",在Playground的右邊會緊接着出來gender的值,下面一句是嘗試着給gender指派,說你要去泰國那啥~在Swift的世界裡是不允許你這麼做的,是以給你一個錯誤“Cannot assign to 'let' value 'gender'”,就是不允許你給gender再次指派,用一句通俗易懂的話就是,不允許你去泰國那啥。這就是Swift中的常量,一錘定音,一言既出,驷馬難追是let的風格。

窺探Swift之基本資料類型

  2.關鍵字“var”

    如果世界上什麼東西都是一成不變的,估計就生活不下去了對吧。不想當程式員的醫生不是好老闆,這些都是可以變得對吧,世界上一成不變的東西還是少的,大多數東西都在運動,都在變化,在Swift的世界裡也是如此,變量的用處比常量要多的多。比如你現在是程式員,明天也要當老闆,如果這東西是常量,那完了,就做一輩子程式員吧,但是在現實生活中是可以變得,下面就是使用關鍵字var來定義一個hopeMe變量,并且賦上“我是程式員”,你勵志要做老闆,有一天你做了老闆,然後就變成了下面那句代碼,這在Swift的世界中是可以的,是以編譯器是不會給error的。

窺探Swift之基本資料類型

  3.關于資料類型的說明

    細心的園友會注意到上面不管是定義常量或者變量怎麼沒給這些變量或者常量指定資料類型呢?難道Swift像JS或者PHP這些語言一樣是弱類型的?非也,并不是弱類型的,Swift可以自動推斷資料類型,上面定義的都是string類型。下面這個執行個體,定義了一個變量intNumber,并賦上初始值10,使用sizeofValue()函數來檢視該變量所占記憶體位元組數,使用sizeof()函數來檢視相應的資料類型所需存儲空間。更好的方法是在鍵入該變量時檢視提示的資料類型。

窺探Swift之基本資料類型

  二、給變量顯式指定相應的資料類型

    上面不管是聲明常量還是變量,都是有編譯器通過類型推斷來判斷資料的類型的,接下我們就要顯式的指定我們需要的資料類型。在Swift中資料類型可謂是豐富多彩呢。

    1.顯式聲明不同位元組的整數類型,在Swift中允許你來指定資料存儲所需位元組數。當然Int64是在64位系統上使用才占64個位元組呢。

窺探Swift之基本資料類型

    2.舉一個簡單的生活中的例子:不同物種是不可能進行結合産生正常的後代的,如果你告訴編譯器馬+Lv=?編譯器會報個錯,說你這是非法的,會産生一個不正常的後代“ErrorMessage = Luo子”。不扯鹹蛋了,言歸正傳,在Swift中是不允許不同的資料類型進行隐式運算的。不同資料類型的數字是不允許進行算術運算的,即使同為整型,如果存儲所占位元組數不同,在Swift中也是不允許對其進行算術運算的。Swift語言說的官方一些是類型安全的,不同類型的資料是不允許直接進行算術運算的,下面的執行個體很好說明了這個問題。

窺探Swift之基本資料類型

    3.Swift對不同數制的也是有着很好的支援,為了可讀性,Swift中允許你對較大的數進行分隔如下圖所示,0b表示二進制,0o表示8進制,0x表示十六進制。

窺探Swift之基本資料類型

  三、Swift中的浮點型

    1.其他程式設計語言中也是有浮點型的了,下面的Dmeo給出了不同類型的浮點型在記憶體中存儲時所需位元組數。在Swift中預設是Double類型。

    

窺探Swift之基本資料類型

    2.下面的Demo中給出類浮點型的計算,Float類型的資料是不允許和Double類型的資料直接進行運算的,還是那句話:swift中是不允許進行隐式類型轉換的。

窺探Swift之基本資料類型

    3.下面是浮點數的指數表示形式,如下所示

窺探Swift之基本資料類型

        

作者:青玉伏案

出處:http://www.cnblogs.com/ludashi/

本文版權歸作者和共部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。

如果文中有什麼錯誤,歡迎指出。以免更多的人被誤導。

收履歷:某網際網路公司,招聘iOS/Android靠譜工程師,入職後,可内部聯系樓主,有小禮品贈送,有意者可郵箱投遞履歷:[email protected]