使用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大概有个了解,在以后的章节里会详细讲一下数据类型的用法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。