【Swift学习】Swift编程之旅(一)
学习一门新语言最经典的例子就是输出“Hello World!”
print("Hello World!") swift就是这样来输出的。
如果你使用过其他语言,那么看上去是非常的熟悉吧。但比一些c要简单的多吧
1、不需要导入一些单独的库,比如输入/输出或字符串处理功能的类库,
2、不需要在全局范围内编写的代码用于作为入口点程序,所以你不需要 main()函数,
3、不需要写在每个语句的末尾的分号。这样写是不是很简单~
简单值
使用let来声明一个常量,var声明一个变量。一个常量值在编译时无须知道,但你只能赋值一次,我们需要在声明时赋值,如果多次赋值会发生编译错误,如下图
一个变量值可以在声明时赋值,也可以在以后赋值。
常量或者变量的类型必须和赋给它们的值一样。然而,声明时类型是可选的,声明同时赋值的话,编译器会自动推断类型。在上面的例子中,编译器推断出var1是一个整数(integer)因为它的初始值是整数。
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[1] = "bottle of water"
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations”
我们看一下结果
OK!和我们预期的一样。
下面我们创建一个空的数组和字典
let emptyArray = [String]()//创建一个元素为字符类型的数组
let emptyDict = [String:float]()//创建一个key为字符类型,值为浮点类型的字典
如果类型可以被推断出来,你可以使用[]和[:]来创建空的数组和字典。
控制流
使用if和switch执行条件操作,使用for-in ,for,while,repeat-while执行循环操作。条件或循环变量的圆括号是可选的,但是语句体的大括号({})是必须的.
let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores {
if score > 50 {
teamScore += 3
} else {
teamScore += 1
}
}
print(teamScore)//输出11
在if语句中条件必须是一个布尔(Boolean)表达式。在这里我们明晰可以看出swift语法的简洁。
var optionalString: String? = "Hello"
print(optionalString == nil)
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
greeting = "Hello, \(name)"
}
输出结果:
false。
Hello, John Appleseed
因为optionalString和optionalName都是有具体的值,但如果optionalName=nil的话,那么greeting输出结果为Hello!
var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = optionalName { greeting = "Hello, \(name)" } else{ greeting = "Hello,匿名" }
输出结果
false
Hello,匿名
switch支持任意类型的数据和各种比较操作,它不局限于整数和相等的测试
let vegetable = "red pepper"
switch vegetable {
case "celery":
print("Add some raisins and make ants on a log.")
case "cucumber", "watercress":
print("That would make a good tea sandwich.")
case let x where x.hasSuffix("pepper"):
print("Is it a spicy \(x)?")
default:
print("Everything tastes good in soup.")
}
输出结果为
Is it a spicy red pepper?