swift入门学习

通过下面的代码先对Swift有个感性的认识吧。


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

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

[javascript]  view plain copy
  1. import Foundation  
  2.   
  3. var a:Int = 123   // 定义Int类型的变量a  
  4. let b = 321       // 定义常量b通过类型推断为Int  
  5.   
  6. println("\(a) + \(b) = \(a + b)")   // 字符串中的\()可以放变量、常量、表达式  
  7.                                     // 输出:123 + 321 = 444  
  8.   
  9. // 从1加到100求和  
  10. var sum = 0  
  11. for var i = 1; i <= 100; ++i {      // for循环  
  12.     sum += i  
  13. }  
  14. println("SUM = \(sum)")             // 输出:SUM = 5050  
  15.   
  16. for ch in "hello" {                 // 对hello的每个字符进行循环  
  17.     println(ch)  
  18. }  
  19.   
  20. var randomAge = arc4random() % 50   // 调用Foundation中的函数产生随机数  
  21. print("You're \(randomAge) years-old! ")  
  22. var myAge:UInt32 = 33;  
  23. if randomAge > myAge {              // if-else分支结构  
  24.      println("Older than me!")  
  25. }  
  26. else {  
  27.     println("Younger than me!")  
  28. }  
  29.   
  30. // 根据现在的系统时间显示提示语  
  31. // [吐槽]时间日期的操作在苹果的编程语言里面真麻烦  
  32. var currDate = NSDate()                                         // 创建时间日期对象  
  33. var myCal = NSCalendar(calendarIdentifier:NSGregorianCalendar)  // 创建日历对象(阳历[格里高利历])  
  34. // 下面两行代码取出当前时间日期的小时部分  
  35. var myComp:NSDateComponents = myCal.components(NSCalendarUnit.HourCalendarUnit, fromDate:currDate)  
  36. var hour = myComp.hour  
  37.   
  38. switch hour {  
  39. case 7, 8:  
  40.     println("Enjoy your breakfast!")  
  41. case 11, 12, 13:  
  42.     println("Have a good lunch!")  
  43. case 18, 19:  
  44.     println("It's a good time for dinner!")  
  45. default:  
  46.     println("Do something to make yourself happy.")  
  47. }  
  48.   
  49. var myArray:Int[] = [12, 35, 96, 47, 5, 23, 68]  
  50. myArray += [32, 81]  
  51. println(myArray)    // 输出: [12, 35, 96, 47, 5, 23, 68, 32, 81]  
  52.   
  53. // 定义找出数组中最大和最小元素的函数  
  54. // 声明函数的关键字是func, findMaxAndMin是函数名  
  55. // 函数名后的()中是参数列表, 其参数是Int型的数组,  
  56. // 返回值是一个元组(包含多个数据的复合值), 包含两个整数  
  57. // 函数的返回值是在函数参数列表后的->之后指定其类型的  
  58. func findMaxAndMin(x:Int[]) -> (Int, Int) {  
  59.     var min:Int = x[0]  
  60.     var max:Int = x[0]  
  61.     for var index = 1; index < x.count; ++index {  
  62.         if x[index] > max { max = x[index] }  
  63.         else if x[index] < min { min = x[index] }  
  64.     }  
  65.     return (min, max)  
  66. }  
  67.   
  68. println(findMaxAndMin(myArray))     //输出: (5, 96)  
  69.   
  70. // 定义一个字典类型(键值对映射)  
  71. var myDic = [1001:"Apple", 1002:"Banana", 1003:"Grape"]  
  72. for (no, name) in myDic {  
  73.     println("key = \(no), value = \(name)")  
  74. }  
  75. myDic[1003] = "Strawberry"  
  76. println(myDic)         // 输出: [1001: Apple, 1002: Banana, 1003: Strawberry]  
  77. var myFruit1 = myDic[1002]  // Banana  
  78. var myFruit2 = myDic[2001]  // nil  
  79.   
  80. if myFruit2 == nil {  
  81.     println(myFruit1)  
  82. }  
  83. else {  
  84.     println(myFruit2)  
  85. }  
  86.   
  87. // 将函数作为函数的参数(Lambda函数)  
  88. func repeat(count:Int, callback: () -> ()) {  
  89.     for i in 0..count {  
  90.         callback();  
  91.     }  
  92. }  
  93.   
  94. // 调用repeat函数输出10次Hello, world!  
  95. repeat(10, { println("Hello, world!") })  

转载于:https://my.oschina.net/u/2564478/blog/667528

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值