1、var用來(lái)聲明變量舶治,let用來(lái)聲明常量
var str:String="Hello World"
let Contstr = "constr"
2、不能將賦值給變量本身類(lèi)型之外的值賦值給他
str = 1024//拋異常
3车猬、常量和變量不能相互轉(zhuǎn)換
4霉猛、swift將具體某種類(lèi)型的值成為類(lèi)型字面量
5、聲明一個(gè)變量只需要在變量名之后緊跟類(lèi)型名珠闰,并且用冒號(hào)隔開(kāi)
var sampleInteger:Int
var tmpInteger = 12//直接根據(jù)字面量來(lái)判斷類(lèi)型
等價(jià)于
var tmpInteger = Int.init(12)//通過(guò)類(lèi)型推斷機(jī)制識(shí)別出字面量所屬類(lèi)型惜浅,然后調(diào)用對(duì)應(yīng)類(lèi)型初始化構(gòu)造器對(duì)變量進(jìn)行初始化
var tmpInteger = Int.init(12.88);//結(jié)果為12,顯示調(diào)用時(shí)構(gòu)造器會(huì)做相應(yīng)判斷
6伏嗜、double和float類(lèi)型的別名
typealias Float32 = Float
typealias Float64 = Double
7坛悉、布爾類(lèi)型
訪問(wèn)變量的布爾值
var sampleValue:Bool
var KeyValue = false
//通過(guò)description訪問(wèn)變量的值
print(KeyValue.description)
//判斷
if !KeyValue {}
//while循環(huán)
var surplusDate = 3;
while surplusDate>=0 {}
8伐厌、字符串和字符
string:字符串
Character:字符
var sampleString:String
var note = "world"
sampleString = "Hello "+note//字符串拼接
打印時(shí)可以直接插入,而不用做轉(zhuǎn)換
var now = 6
print("你好嗎\(now)")
swift語(yǔ)言使用值傳遞作為默認(rèn)字符串拷貝方式裸影,無(wú)論何時(shí)挣轨,傳遞的都將是值得拷貝
9、計(jì)算字符串長(zhǎng)度
let str="@鰻駝螺"
let len1=count(str) //swift 1.2 //=4
let len2=str.characters.count //swift 2.0 //=4
let blen=str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) //=10
10轩猩、swift中所有的類(lèi)型都可以分為“值類(lèi)型”或者“引用類(lèi)型”
11卷扮、可選(optional)
標(biāo)準(zhǔn)聲明形式是在程序中使用類(lèi)名緊跟“?”
var roundValue:Int?//等同于var roundValue:Optional<Int>(顯示調(diào)用)
print("the roundValue is \(roundValue)")
用于可選綁定(防止程序拋異常)
var optionalValue : Optional<Int>
if var MaxValue = optionalValue{//當(dāng)Optional不為nil時(shí)賦值給MaxValue均践,并執(zhí)行if語(yǔ)句晤锹,否則不執(zhí)行
MaxValue += 1
print("The convert Value is\(MaxValue)")
}
在確定肯定有值的情況下,可以選用隱式解析
主要用在一個(gè)變量/常量在定義瞬間完成之后值一定會(huì)存在的情況彤委。這主要用在類(lèi)的初始化過(guò)程中鞭铆。
var possibleString: String? = "An optional string."
//possibleString = nil
println(possibleString) // possibleString 為可選變量骂际,需要使用!來(lái)訪問(wèn)的值
運(yùn)行結(jié)果為An optional string.
再來(lái)看一下把println這句改一下改為 (即在可選變量后面加上一個(gè)!號(hào)严蓖。)
println(possibleString!)//possibleString 為可選變量,需要使用!來(lái)訪問(wèn)的值
還是輸出An optional string.
再次把possibleString = nil放開(kāi)
//情況一:不帶填具!號(hào)時(shí)偷办,輸出為nil .
var possibleString: String? = "An optional string."
possibleString = nil
println(possibleString)
//情況二:這時(shí)運(yùn)行到這句println就會(huì)crash了艰额。會(huì)報(bào)
fatal error: Can't unwrap Optional.None
var possibleString: String? = "An optional string."
possibleString = nil
println(possibleString)
總之一個(gè)變量或常量有可能是nil,就聲明為可選類(lèi)型比較安全椒涯,因?yàn)榉强蛇x類(lèi)型不能為nil
let assumedString: String? = nil //可以被賦值為nil
let implicitString: String = nil //不可以