您的位置:首页 > 移动开发 > Swift

swift入门学习

2016-04-28 00:00 399 查看
通过下面的代码先对Swift有个感性的认识吧。

使用 let 来声明常量,使用 var 来声明变量。一个常量的值在编译时并不需要获取,但是你
只能为它赋值一次。也就是说你可以用常量来表示这样一个值:你只需要决定一次,但是需 要使用很多次。

常量不占数据空间,编译时转化为二进制数,变量占内存空间,前者速度快。

[javascript]
view plain
copy

import Foundation

var a:Int = 123 // 定义Int类型的变量a

let b = 321 // 定义常量b通过类型推断为Int

println("\(a) + \(b) = \(a + b)") // 字符串中的\()可以放变量、常量、表达式

// 输出:123 + 321 = 444

// 从1加到100求和

var sum = 0

for var i = 1; i <= 100; ++i { // for循环

sum += i

}

println("SUM = \(sum)") // 输出:SUM = 5050

for ch in "hello" { // 对hello的每个字符进行循环

println(ch)

}

var randomAge = arc4random() % 50 // 调用Foundation中的函数产生随机数

print("You're \(randomAge) years-old! ")

var myAge:UInt32 = 33;

if randomAge > myAge { // if-else分支结构

println("Older than me!")

}

else {

println("Younger than me!")

}

// 根据现在的系统时间显示提示语

// [吐槽]时间日期的操作在苹果的编程语言里面真麻烦

var currDate = NSDate() // 创建时间日期对象

var myCal = NSCalendar(calendarIdentifier:NSGregorianCalendar) // 创建日历对象(阳历[格里高利历])

// 下面两行代码取出当前时间日期的小时部分

var myComp:NSDateComponents = myCal.components(NSCalendarUnit.HourCalendarUnit, fromDate:currDate)

var hour = myComp.hour

switch hour {

case 7, 8:

println("Enjoy your breakfast!")

case 11, 12, 13:

println("Have a good lunch!")

case 18, 19:

println("It's a good time for dinner!")

default:

println("Do something to make yourself happy.")

}

var myArray:Int[] = [12, 35, 96, 47, 5, 23, 68]

myArray += [32, 81]

println(myArray) // 输出: [12, 35, 96, 47, 5, 23, 68, 32, 81]

// 定义找出数组中最大和最小元素的函数

// 声明函数的关键字是func, findMaxAndMin是函数名

// 函数名后的()中是参数列表, 其参数是Int型的数组,

// 返回值是一个元组(包含多个数据的复合值), 包含两个整数

// 函数的返回值是在函数参数列表后的->之后指定其类型的

func findMaxAndMin(x:Int[]) -> (Int, Int) {

var min:Int = x[0]

var max:Int = x[0]

for var index = 1; index < x.count; ++index {

if x[index] > max { max = x[index] }

else if x[index] < min { min = x[index] }

}

return (min, max)

}

println(findMaxAndMin(myArray)) //输出: (5, 96)

// 定义一个字典类型(键值对映射)

var myDic = [1001:"Apple", 1002:"Banana", 1003:"Grape"]

for (no, name) in myDic {

println("key = \(no), value = \(name)")

}

myDic[1003] = "Strawberry"

println(myDic) // 输出: [1001: Apple, 1002: Banana, 1003: Strawberry]

var myFruit1 = myDic[1002] // Banana

var myFruit2 = myDic[2001] // nil

if myFruit2 == nil {

println(myFruit1)

}

else {

println(myFruit2)

}

// 将函数作为函数的参数(Lambda函数)

func repeat(count:Int, callback: () -> ()) {

for i in 0..count {

callback();

}

}

// 调用repeat函数输出10次Hello, world!

repeat(10, { println("Hello, world!") })
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: