playground 它是用來練手學(xué)swift的,寫一句代碼出一行結(jié)果(右側(cè)),可以實(shí)時(shí)查看代碼結(jié)果,是學(xué)習(xí)swift語言的利器!
聲明一個(gè)變量
var a =1
var b : Int = 1 ?//Int類型推斷通過右值推斷出來左邊的類型
var c = 0.5 ? ?//Double 推斷出來的
var d = Int(c) ?//類型轉(zhuǎn)換 ?Double 轉(zhuǎn)換為 Int
聲明一個(gè)常量
let const = 10 //不可修改 ? ??
//字面值
x=0000000015//Swift中會(huì)忽略前面任意多個(gè)零 八進(jìn)制前面加0o(數(shù)字0 字母 o) ? 結(jié)果還是15
x=10_0000_0000//_沒有任何意義,只是為了增加可讀性
//二進(jìn)制的字面值
x=0b11100
//八進(jìn)制的字面值
x=0o15
//十六進(jìn)制
x=0xff00ff00//透明度紅綠藍(lán)
//浮點(diǎn)數(shù)
vary =3.14
y=1.25E-2//科學(xué)計(jì)數(shù)法相當(dāng)于1.25 * 10 ^ -2
//聲明一個(gè)sring變量,并初始化
var str ="Hello, playground"
//聲明一個(gè)變量但沒有初始化
var str : String
letwelcomeMessage :String
//變量和常量沒有初始化,都不能使用
//第一次賦值不是賦值,是初始化
welcomeMessage="Welcome to swift"http://給常量初始化
//第二次是賦值是修改
//welcomeMessage = "abc" //常量不能修改
//字符串拼接
varlabel ="This is "
varlabel2 ="Label"
vartext =label+label2
varwidth =94
vartext2 =text+" "+String(width)
下面這種拼接比較簡單
var hour =11
let min =30
let sec =35
let time ="\(hour)小時(shí)\(min)分\(sec)秒"
var f1 :Float
var f2 :Double
var f3 :Float32
var f4 :Float64
var f5 :Float80
//實(shí)際上是給Double起了個(gè)別名叫Float64
//typealias Float64 = Double
/*typedef double float64*/
//給Float32起個(gè)別名叫MyFloat
typealias ?MyFloat =Float32
var f6 :MyFloat=3.14
Bool ?只有 ture 和 false
//函數(shù)類型的變量
var function : (Int) -> Void
func test(a : Int){
print("a = \(a)")
}
function = test
function(100)
func test2(function: (Int) -> Void){
function(200)
}
test2(test)//OC ?方法選擇其中傳入方法名 selector("test")
test2({ ?//OC 中的 Block 塊
(a) ?-> Void ?in print("sss");?
})
str4="abcd"
if str4.isEmpty{//判斷是否是空串
str4 += "abc"
}else{
print("這個(gè)字符串不是空的")
}
//Swift值類型和引用類型
//String是swift中的字符串類型是值類型
//NSMutableString是OC中的字符串類型是引用類型
//String值類型
/* swift中的結(jié)構(gòu)體都是值類型,,類都是引用類型*/
//字符
varch ="A"http://swift中字符也用雙引號,但該變量會(huì)被推斷為字符串
//聲明字符必須類型標(biāo)注不能推斷
varch2 :Character="A"
varstring ="abc"
varstring2 ="abc"+String(ch2) +"def"
varstring3 ="abc\(ch2)def"
//通過字符數(shù)組創(chuàng)建字符串
var catCharacters : [Character] = ["C","a","t","!"]
var catString =String(catCharacters)
//遍歷字符串所有字符
for char in catString.characters{
print(char)
}
//查看字符串有多少個(gè)字符
catString.characters.count
catString += "aa"
//在原有字符串基礎(chǔ)上加新的內(nèi)容生成一個(gè)新的字符串返回原字符串不變
var newString ?= catString.stringByAppendingString("bb")
if newString.hasPrefix("Ca") {
print("字符串是以Ca開頭的")
}
if newString.hasSuffix("bb") {
print("字符串是以bb結(jié)尾的")
}
//轉(zhuǎn)義字符\ \n \t
let wiseWords ="\"想象力比知識更重要\" --愛因斯坦"
ifnewString.hasPrefix("Ca") {
print("字符串是以Ca開頭的")
}
ifnewString.hasSuffix("bb") {
print("字符串是以bb結(jié)尾的")
}
//轉(zhuǎn)義字符\ \n \t
letwiseWords ="\"想象力比知識更重要\" --愛因斯坦"