最近对未来的职业生涯进行了分析,由于笔者手头有一台Mac,之前也大致看过乔布斯传,逐渐被Apple的设计风格所吸引,未来可能更多的选择,设计师,前端,移动应用开发等工作,虽然现在是CS专业,但这并不能阻止我的自我迭代,在现在连找工作都内卷的时代,没有一份拿的出手的绝活,很难在社会上立足。自认为ios开发是一个门槛较高的职业,选择此条道路的人相对较少,且有学长铺路,因此把swift学习作为职业规划第一步。这是第一、二节swift课程,主要学习来源为官方的教程和hacking with swift以及YouTube上的video。
Simple Values
常量(constant)用let定义,即一次初始化后就不能修改,变量(variable)用var来定义,即还可以再次修改其值。
1 | var myVariable = 42 |
可以直接进行类型转换,将两个相同类型的值进行拼接。
1 | let label = "The width is " |
使用\
+()
可以在一个字符串中嵌入数字
1 | let apples = 3 |
使用三个引号"""
可以匹配多行字符串:
1 | let apples = 3 |
使用[]
来定义数组和字典,并通过索引来寻找元素,也可使用append
函数来扩充数组的元素。
1 | var shoppingList = ["catfish", "water", "tulips"] |
创建空的数组和字典,并且注明数据类型:
1 | let emptyArray = [String]() |
但数据类型可以推测时,定义变量数组和字典:
1 | shoppingList = [] |
Control Flow
使用if
进行条件的判断,使用for-in
进行循环,注意使用大括号括住所需代码。
1 | let individualScores = [75, 43, 103, 87, 12] |
使用?
来定义一个变量为可选择项,表示值是missing的,不赋值表示nil
,赋值表示其值。可以使用if let
来判断一个值是否为optional。可选择的值optionalName
会被赋值给let
后的常量,并在判断中可以使用。
1 | var optionalString: String? = "Hello" |
使用??
操作符,当一个optional值为nil
时,会使用??
后的值进行代替。
1 | let nickname: String? = nil |
switch
的使用,swift提供了多种case的判断条件,如下:
1 | let vegetable = "red pepper" |
switch当匹配到一个case,就会执行其相应代码,然后退出switch,但必须有default
使用for in
来遍历字典中的元素,且可以嵌套循环,可以使用_
来不使用此元素。
1 | let interestingNumbers = [ |
使用while
和repeat-while
来进行循环。
1 | var n = 2 |
使用..<
来进行一个范围的循环此循环不包含上限值,可以使用...
来包含上限值的循环。
1 | var total = 0 |