swift筆記:數(shù)據(jù)類型補充,其他補充

整數(shù)


Int的長度為當前平臺的原生字長相同,可以用Int.max,Int.min來取其最大值和最小值
64位的長度范圍是: max : 9223372036854775807, min : -9223372036854775808
Int8長度范圍:max : 127, min : -128
Int16長度范圍max : 32767, min : -32768
Int32長度范圍 max : 2147483647, min : -2147483648
Int64長度范圍 max : 9223372036854775807, min : -9223372036854775808

UInt無符號整數(shù),長度業(yè)余當前平臺原生字節(jié)長相同
64位長度范圍是: max : 18446744073709551615, min : 0
UInt8長度范圍:max : 255, min : 0
UInt16長度范圍max : 65535, min : 0
UInt32長度范圍 max : 4294967295, min : 0
UInt64長度范圍 max : 18446744073709551615, min : 0

浮點數(shù)


Float是32位的浮點數(shù),小數(shù)點后6位,也可以寫作Float32.
Double是64位的浮點數(shù),小數(shù)后15位,寫可以寫作Float64.

進制


十進制:無前綴.
二進制:0b.
八進制:0o
十六進制:0x

布爾值


類型: Bool, true為真, false為假

字符Character


只有指定聲明的變量與常量才會可以指定為 Character型,而類型推測會一直是 StringNSString

String與NSString


SwiftString是一個值類型,是一個結(jié)構(gòu)體,而NSString是一個類,創(chuàng)建出來的是一個對象,有本質(zhì)的不同.

計算字符的數(shù)量


字符串.characters.count得到的是Unicode的數(shù)量

轉(zhuǎn)義字符


轉(zhuǎn)義字符用\字符來表示特定的含義,如\n是換行.

\n換行
\0空字符
\\斜線
\' 單引號
\" 雙引號
\r回車符
\t水平制表符
\xnn 單字節(jié)Unicode 二位十六進制數(shù)
\unnnn 雙字節(jié)Unicode 四位十六進制數(shù)
\Unnnnnnnn 四字節(jié)Unicode 八位十六進制數(shù)

元祖


元祖(tuples)簡單來講就是把多個值放到一個集合中組成復合值,這個集合里可以有多種類型

// 三種寫法之一
let dog = ("小白",18);
// 三種寫法之二
let (dogName,dogAge) = ("大黃",2)
// 三種寫法之三
let dog2 = (name:"旺財",age:3)
//打印
print(dog)
print("\(dogName)年齡\(dogAge)")
print("\(dog2.name)年齡\(dog2.age)")

類型轉(zhuǎn)換


類型轉(zhuǎn)換 由構(gòu)造器來控制如 :

   extension Int64 {
    public init(_ v: UInt8)
    public init(_ v: Int8)
    public init(_ v: UInt16)
    public init(_ v: Int16)
    public init(_ v: UInt32)
    public init(_ v: Int32)
    public init(_ v: UInt64)
    public init(_ v: UInt)
    public init(_ v: Int)
    /// Construct a `Int64` having the same memory representation as
    /// the `UInt64` `bitPattern`.  No range or overflow checking
    /// occurs, and the resulting `Int64` may not have the same numeric
    /// value as `bitPattern`--it is only guaranteed to use the same
    /// pattern of bits.
    public init(bitPattern: UInt64)
}

使用:Int64( 轉(zhuǎn)換的變量或者常量 )

類型別名:


typealias關鍵字來定義別名,列子:

typealias Myview = UIView;

可選(optionals):


? 表示是一個可選值 let name: String ?!表示明確知道這個值不是一個空值name!,請再使用!之前確定有值不然會程序會出錯.

斷言


assert關鍵字,這個關鍵字可以在調(diào)試的時候指定符合條件的情況下中斷程序的執(zhí)行,并且可以用assert(條件表達式,調(diào)試語句)的形式來執(zhí)行Log信息

"_"符號


如果你聲明的變量值沒有在程序中使用往往Xcode會提示你的變量名稱變?yōu)?code>_省略的意思,在元祖中也可以let (dogName,_) = ("大黃",2)來省略不需要的值.

"hashValue"


可以得到對應的hash值,用法3.hashValue在swift中大部分對象,結(jié)構(gòu)體枚舉值,都可以點出hashValue甚至可以view.hashValue.

"is"


左邊 is 右邊 : 左邊是否是右邊的實例對象或者是右邊子類的實例對象.返回的是一個BOOL值

運算符


賦值運算符

= 區(qū)別于oc的是 if var obj = 3 在oc中可以 oc不是0就是真 不是nil 也是真但是swift不行if后必須是一個條件表達式

數(shù)值運算符

+,-,*,/,%基本和OC一樣但是%這個運算符可以計算小數(shù)

一元正負運算符

一元運算符的正負號+ , -代表正數(shù) 負數(shù).

自增自減運算符,復合運算符

自增自減運算符++,-- 復合運算符 +=,-=

注: +=不止可以用于數(shù)值,也可以用于拼接字符串和添加數(shù)組元素

比較運算符

==,!=,>,<,>=,<= 為比較運算符,與OC基本一致
另外加入的是 === ,!== 來判斷2個指針變量是否引用一個內(nèi)存地址.

三元運算符

格式: 條件表達式 ? 條件1 : 條件2 , 例子a > b ? a:b;

邏輯運算符

!, &&,||,邏輯運算符也與OC基本一致

區(qū)間運算符

... 區(qū)間運算符,包含了在左右2端所有的數(shù), 如3...5 那么就包含 3,4,5 3個數(shù)字.
.. 半?yún)^(qū)間,相比全區(qū)間只少了最后1個數(shù)字如上面例子3..5只包含了3,42個數(shù)字.

位運算符

~ 按位取反運算符
&按位與運算符
|按位或運算符
^按位異或運算符
<< >> 左移右移運算符

溢出運算符

&+ &- &* &/ &% 在值的取值范圍超出后做溢出處理

運算符函數(shù)

關鍵字 func + (形參: 形參類型, 形參,形參類型 )->返回值類型

字符型表達式

__FUNCTION__打印出所在的函數(shù)名 String
__FILE__ 打印出在哪個文件中 String
__LINE__ 打印出所在的行數(shù) Int
__COLUMN__打印出所在的列數(shù) Int

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市徽惋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌座韵,老刑警劉巖险绘,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異誉碴,居然都是意外死亡宦棺,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門黔帕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來代咸,“玉大人,你說我怎么就攤上這事成黄∧沤妫” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵奋岁,是天一觀的道長思瘟。 經(jīng)常有香客問我,道長闻伶,這世上最難降的妖魔是什么滨攻? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上光绕,老公的妹妹穿的比我還像新娘女嘲。我一直安慰自己,他們只是感情好诞帐,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布欣尼。 她就那樣靜靜地躺著,像睡著了一般景埃。 火紅的嫁衣襯著肌膚如雪媒至。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天谷徙,我揣著相機與錄音拒啰,去河邊找鬼。 笑死完慧,一個胖子當著我的面吹牛谋旦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播屈尼,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼册着,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了脾歧?” 一聲冷哼從身側(cè)響起甲捏,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鞭执,沒想到半個月后司顿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡兄纺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年大溜,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片估脆。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡钦奋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疙赠,到底是詐尸還是另有隱情付材,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布圃阳,位于F島的核電站伞租,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏限佩。R本人自食惡果不足惜葵诈,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一裸弦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧作喘,春花似錦理疙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至贰锁,卻和暖如春赃梧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背豌熄。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工授嘀, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锣险。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓蹄皱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芯肤。 傳聞我的和親對象是個殘疾皇子巷折,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,814評論 1 10
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)崖咨,斷路器锻拘,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • 今天在看知乎的時候,看到一對喜歡出游時錄制旅行視頻的情侶击蹲。倆人背著十斤的包署拟,拖著三腳架每天幾個小時游走,只是為了最...
    月月大王閱讀 1,530評論 6 7
  • 關于作者 查爾斯·曼恩是《大西洋月刊》《科學》和《連線》等知名刊物的撰稿人际邻,曾三次進入美國國家雜志獎決賽的作者,被...
    龍少俠linux閱讀 1,430評論 0 0
  • 熟人G君自大學畢業(yè)后就一直眼高于頂轮听,對工作挑三揀四,幾年間換工作比換內(nèi)褲還勤快岭佳,卻終究一事難成血巍。 一日,G君在外...
    鐵甕城主閱讀 250評論 13 0