? ? ? swift中不存在隱式類型轉(zhuǎn)換淑倾,所有的類型轉(zhuǎn)換都必須是顯式的,這是因?yàn)閟wift是強(qiáng)語言乔夯,OC是弱語言砖织。
一、數(shù)據(jù)類型
1末荐、Int
? ? ? ? 一般來說侧纯,你不需要專門指定整數(shù)的長度。Swift 提供了一個(gè)特殊的整數(shù)類型Int甲脏,長度與當(dāng)前平臺(tái)的原生字長相同:
在32位平臺(tái)上眶熬,Int和Int32長度相同。
在64位平臺(tái)上块请,Int和Int64長度相同娜氏。
? ? ? ? 一般來說使用Int就夠了,這可以提高代碼一致性和可復(fù)用性墩新。即使是在32位平臺(tái)上贸弥,Int可以存儲(chǔ)的整數(shù)范圍也可以達(dá)到-2147483648~2147483647,大多數(shù)時(shí)候這已經(jīng)足夠大了海渊。
2绵疲、Double
? ? ? ?Double表示64位浮點(diǎn)數(shù)哲鸳。當(dāng)你需要存儲(chǔ)很大或者很高精度的浮點(diǎn)數(shù)時(shí)請(qǐng)使用此類型。
3盔憨、Float
? ? ? Float表示32位浮點(diǎn)數(shù)帕胆。精度要求不高的話可以使用此類型。
let num1 = 10;
let num2 = 5.2;
let sum = num1 + Int(num2);
print("sum----\(sum)");
let sum2 = Double(num1) + num2;
print("sum2----\(sum2)");
4般渡、字符串的使用
? ? ? ?OC中字符串是NSString懒豹,swift中的字符串是String;OC的字符串是一個(gè)對(duì)象驯用,繼承于NSObjcte脸秽,而swift中的字符串是一個(gè)結(jié)構(gòu)體,swift中的字符串性能比OC中的字符串性能高蝴乔;
4.1记餐、字符串拼接
let string1 = "abc";
var string2:String = "abcdefg";
//字符串拼接
string2 += string1;
4.2、字符串截取薇正,需要將String轉(zhuǎn)化為NSString再來做截取操作
//字符串截取
let string3 = (string2 as NSString).substring(to: 3);
let string4 = (string2 as NSString).substring(from: 1);
let string5 = (string2 as NSString).substring(with: NSMakeRange(1, 2));
5片酝、數(shù)組的使用
5.1、數(shù)組創(chuàng)建方式
//數(shù)組創(chuàng)建方式
var numbers = [1,2,3,4];
var array1:Array= ["a","b","c"];
5.2挖腰、添加元素
//添加元素
numbers.append(5);
array1.append("d");
5.3雕沿、刪除元素
//刪除元素
numbers.remove(at: 1);
array1.removeFirst()
//區(qū)間刪除元素
numbers.removeSubrange(0..<1)
array1.removeSubrange(0...1)
5.4、修改元素
//修改元素
numbers[0] = 10;
array1[1] = "zz";
5.5猴仑、計(jì)算數(shù)組長度
//計(jì)算數(shù)組長度
print(numbers.count);
print(array1.count);
5.6审轮、遍歷數(shù)組中元素
//遍歷數(shù)組中元素
for value in numbers {
print("value-----\(value)");
}
for value in array1 {
print("value-----\(value)");
}
//按照下標(biāo)打印
let tempArray = ["10","9","8","5"];
for index in 0 ..< tempArray.count {
print("打印------\(tempArray[index])")
}
6、字典Dictionary的使用
6.1辽俗、創(chuàng)建字典
//創(chuàng)建字典
?let dict1 = ["key1":1,"key":2]
var dict2:Dictionary= ["key1":"a","key2":"b","key3":"c"]
6.2疾渣、計(jì)算字典元素個(gè)數(shù)
//計(jì)算字典元素個(gè)數(shù)
let count = dict2.count;
6.3、通過key找對(duì)應(yīng)的value
//通過key找對(duì)應(yīng)的value
print("value-----\( dict2["key2"])")
6.4崖飘、獲取所有的key值和valus值
//獲取所有的key值和valus值
print("keys-----\(dict2.keys)")
print("values-----\(dict2.values)")
6.5榴捡、字典鍵值對(duì)的增加
//字典鍵值對(duì)的增加
dict2["key4"] = "d";
6.6、字典鍵值對(duì)的修改
//字典鍵值對(duì)的修改
dict2["key3"] = "aaaa";
dict2.updateValue("100", forKey: "key4")
6.7朱浴、字典的遍歷
//字典的遍歷
for (key,value) in dict2 {
print("key---\(key),value------\(value)")
}