swift初探

前端之家收集整理的这篇文章主要介绍了swift初探前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用swift开发项目已经有一年多了,这一年多的时间里,苹果多次升级更改swift语法。这也直接导致每次更新xcode后,项目代码做大量的语法更改。哎,也不知道苦逼的swift什么时候可以稳定下来,swift最奇葩的地方在于更新版本不兼容低版本的一些语法。欧啦,抱怨完了,开始我们的swift之旅吧。
在swift的世界里所有的数据类型都已两种形式出现,要么是变量(var),要么是常量(let),与oc相比简易了很多。

1、定义变量和常量

var intVariable: int = 42 
intVariable = 90
let floatValue: CGFloat = 32

swift 的变量具有类型安全的特性,所有给变量赋的值类型必须和变量类型匹配。否则编译报错。

intVariable = 9.9 //编译报错

定义变量和常量时如果等号右边能倒推出数据类型,那么可以不指定变量类型。

var implicationInt = 2 // implicationType int 类型
var implicationDouble = 2.2 // Double 类型(小数被默认为Double)

2、不同类型赋值
不同类型之间赋值时,不会隐含的转换为目标类型。所以得明确的指定成目标类型。

implicationInt = Int(implicationDouble) //implicationDouble不能超过Int的最大值

3、数组、字典
初始化数组、字典

var books = ["语文","数学"]
var dic = ["bookname":"语文","price":"213"]

创建空数组、字典

var books = [String]()
var books = Array<String>()
var dic = [String:String]()
var dic = Dictionary<String,String>()

4、控制流 for 循环、while循环
for循环

let individualscores = [75,43,103,87,12]
var teamscore = 0
for score in individualscores {
    if score > 50 {
        teamscore += 3
    } else {
        teamscore += 1
    }
}
print(teamscore)

while循环和oc稍有改动,把 do{}while(condition) 该为 repeat{}while condition

var n = 2
while n < 100 {
    n = n * 2
}
print(n)

var m = 2
repeat {
    m = m * 2
} while m < 100
print(m)

5、元祖 Tuples
有的时候我们需要一个函数返回两个值,在oc中是不能实现的。在swift中引入了一种数据类型: 元祖(Tuples)。元祖是由多个值构成的一个值,其中的每一个值可以为任何数据类型。

let error = (404,"page not found")
  let (status,string) = error // status 为404, string 为“page not found”
  //如果只想取其中的一个值,
  let (status,_) = error
这篇文章不是要讲swift数据类型以及其用法,只是让大家对swift大概有个了解,在以后的章节里会详细讲一下数据类型的用法

猜你在找的Swift相关文章