swift学习-字符串,数组-12/21

中午实在没有时间看书,只有晚上8点开始看了一会。收获还是挺大的,了解了不少,越发觉得swift是一门不错的语言。它在前有的基础上,规避了太多的问题,某种意义上来说,确实是站在了巨人的肩上。
以后有时间了也要好好看下object-c,都是从c一脉相承的,问题应该不大。
今天看到80页了,还是挺快的哦。
1 字符串比较,可以使用『==』比较字符串。前缀,后缀相等,可以使用hasPrefix和hasSuffix来检查字符串是否拥有特定的前缀或后缀。
例如:

let a = "abcd"
let b = "abcd"

print(a == b)
print(a.hasPrefix("abc"))
print(b.hasSuffix(“bc"))

你还可以通过uppercaseString和lowercaseString来获得一个字符串的大写,小写版本
例如:

let normal = "Could you help me, please"
let shouty = normal.uppercaseString
let whispered = normal.lowercaseString

print(normal, shouty, whispered)

2 数组。swift的数组类型(字典和集合也一样)的类型必须明确,它们被实现为泛型集合。这一点和python有很大的不同,需要特别注意。
如果使用var创建数组,那么数组的大小和内容都是可变的,如果使用let创建,则大小和内容都不可被改变。
注意:swift中如果使用类似 var a = [1, “abc”, 3.5]这样类型不明确的方式来创建数组时,数组的类型将为NSObject[]类型,应该是兼容object-c的方式,字典类型也相同。后面再详细研究NSObject类型吧。
例如:

var array = [1, "abc", 2.5]
var arrayInt:[Int] = [1, 2]

arrayInt[1] = 3;
array.append(3.5)

var dic = [1 : 2.5, "abc" : 3, 4.5 : 2, 4 : "string"] //dict 类型为自动推断的[NSObject : NSObject]

dic[1] = 2.5
dic[1] = nil //删除元素 or dic.removeValueForKey(<#T##key: Key##Key#>)

var someInts = [Int]()

someInts.append(1)
someInts += [2]
someInts += [3,4,5,6]
someInts[3...4] = [3, 4] //将数组的3-4修改为[3,4],不能在[3-4]不确定的状态下使用,会出问题

print(someInts)

插一句题外的,今天过的不太开心。特别反感被某些在其位不谋正事的人职务绑架。低头,忍之,任之。
继续努力。

你可能感兴趣的:(swift学习-字符串,数组-12/21)