swift是什么?MARHTML5中文学习网 - HTML5先行者学习网
  swift是苹果于wwdc 2014发布的编程语言,这里引用the swift programming language的原话:MARHTML5中文学习网 - HTML5先行者学习网
  swift is a new programming language for ios and os x apps that builds on  the best of c and objective-c without the constraints of c compatibility.MARHTML5中文学习网 - HTML5先行者学习网
  swift adopts safe programming patterns and adds modern features to make  programming easier more flexible and more fun.MARHTML5中文学习网 - HTML5先行者学习网
  swift’s clean slate backed by the mature and much-loved cocoa and cocoa  touch frameworks is an opportunity to imagine how software development  works.MARHTML5中文学习网 - HTML5先行者学习网
  swift is the first industrial-quality systems programming language that is  as expressive and enjoyable as a scripting language.MARHTML5中文学习网 - HTML5先行者学习网

  简单的说:MARHTML5中文学习网 - HTML5先行者学习网
  swift用来写ios和os x程序。(估计也不会支持其它 丝系统)MARHTML5中文学习网 - HTML5先行者学习网
  swift吸取了c和objective-c的优点,且更加强大易用。MARHTML5中文学习网 - HTML5先行者学习网
  swift可以使用现有的cocoa和cocoa touch框架。MARHTML5中文学习网 - HTML5先行者学习网
  swift兼具编译语言的高性能(performance)和脚本语言的交互性(interactive)。MARHTML5中文学习网 - HTML5先行者学习网
  swift语言概览MARHTML5中文学习网 - HTML5先行者学习网
  基本概念MARHTML5中文学习网 - HTML5先行者学习网
  注:这一节的代码源自the swift programming language中的a swift tour。MARHTML5中文学习网 - HTML5先行者学习网
  hello worldMARHTML5中文学习网 - HTML5先行者学习网
  类似于脚本语言,下面的代码即是一个完整的swift程序。MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  println(" hello world" )MARHTML5中文学习网 - HTML5先行者学习网
  变量与常量MARHTML5中文学习网 - HTML5先行者学习网
  swift使用var声明变量,let声明常量。MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  2MARHTML5中文学习网 - HTML5先行者学习网
  3MARHTML5中文学习网 - HTML5先行者学习网
  var myvariable = 42MARHTML5中文学习网 - HTML5先行者学习网
  myvariable = 50MARHTML5中文学习网 - HTML5先行者学习网
  let myconstant = 42MARHTML5中文学习网 - HTML5先行者学习网
  类型推导MARHTML5中文学习网 - HTML5先行者学习网
  swift支持类型推导(type inference),所以上面的代码不需指定类型,如果需要指定类型:MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  let explicitdouble : double = 70MARHTML5中文学习网 - HTML5先行者学习网
  swift不支持隐式类型转换(implicitly casting),所以下面的代码需要显式类型转换(explicitly casting):MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  2MARHTML5中文学习网 - HTML5先行者学习网
  3MARHTML5中文学习网 - HTML5先行者学习网
  let label = " the width is "MARHTML5中文学习网 - HTML5先行者学习网
  let width = 94MARHTML5中文学习网 - HTML5先行者学习网
  let width = label + string(width)MARHTML5中文学习网 - HTML5先行者学习网
  字符串格式化MARHTML5中文学习网 - HTML5先行者学习网
  swift使用/(item)的形式进行字符串格式化:MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  2MARHTML5中文学习网 - HTML5先行者学习网
  3MARHTML5中文学习网 - HTML5先行者学习网
  4MARHTML5中文学习网 - HTML5先行者学习网
  let apples = 3MARHTML5中文学习网 - HTML5先行者学习网
  let oranges = 5MARHTML5中文学习网 - HTML5先行者学习网
  let applesummary = " i have /(apples) apples."MARHTML5中文学习网 - HTML5先行者学习网
  let applesummary = " i have /(apples + oranges) pieces of fruit."MARHTML5中文学习网 - HTML5先行者学习网
  数组和字典MARHTML5中文学习网 - HTML5先行者学习网
  swift使用[]操作符声明数组(array)和字典(dictionary):MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  2MARHTML5中文学习网 - HTML5先行者学习网
  3MARHTML5中文学习网 - HTML5先行者学习网
  4MARHTML5中文学习网 - HTML5先行者学习网
  5MARHTML5中文学习网 - HTML5先行者学习网
  6MARHTML5中文学习网 - HTML5先行者学习网
  7MARHTML5中文学习网 - HTML5先行者学习网
  8MARHTML5中文学习网 - HTML5先行者学习网
  var shoppinglist = [" catfish" " water" " tulips" " blue paint" ]MARHTML5中文学习网 - HTML5先行者学习网
  shoppinglist[1] = " bottle of water"MARHTML5中文学习网 - HTML5先行者学习网
  var occupations = [MARHTML5中文学习网 - HTML5先行者学习网
  " malcolm" : " captain"MARHTML5中文学习网 - HTML5先行者学习网
  " kaylee" : " mechanic"MARHTML5中文学习网 - HTML5先行者学习网
  ]MARHTML5中文学习网 - HTML5先行者学习网
  occupations[" jayne" ] = " public relations"MARHTML5中文学习网 - HTML5先行者学习网
  一般使用初始化器(initializer)语法创建空数组和空字典:MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  2MARHTML5中文学习网 - HTML5先行者学习网
  let emptyarray = string[]()MARHTML5中文学习网 - HTML5先行者学习网
  let emptydictionary = dictionary< string float> ()MARHTML5中文学习网 - HTML5先行者学习网
  如果类型信息已知,则可以使用[]声明空数组,使用[:]声明空字典。MARHTML5中文学习网 - HTML5先行者学习网
  控制流MARHTML5中文学习网 - HTML5先行者学习网
  概览MARHTML5中文学习网 - HTML5先行者学习网
  swift的条件语句包含if和switch,循环语句包含for-in、for、while和do-while,循环/判断条件不需要括号,但循环/判断体(body)必需括号:MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  2MARHTML5中文学习网 - HTML5先行者学习网
  3MARHTML5中文学习网 - HTML5先行者学习网
  4MARHTML5中文学习网 - HTML5先行者学习网
  5MARHTML5中文学习网 - HTML5先行者学习网
  6MARHTML5中文学习网 - HTML5先行者学习网
  7MARHTML5中文学习网 - HTML5先行者学习网
  8MARHTML5中文学习网 - HTML5先行者学习网
  9MARHTML5中文学习网 - HTML5先行者学习网
  let individualscores = [75 43 103 87 12]MARHTML5中文学习网 - HTML5先行者学习网
  var teamscore = 0MARHTML5中文学习网 - HTML5先行者学习网
  for score in individualscores {MARHTML5中文学习网 - HTML5先行者学习网
  if score > 50 {MARHTML5中文学习网 - HTML5先行者学习网
  teamscore += 3MARHTML5中文学习网 - HTML5先行者学习网
  } else {MARHTML5中文学习网 - HTML5先行者学习网
  teamscore += 1MARHTML5中文学习网 - HTML5先行者学习网
  }MARHTML5中文学习网 - HTML5先行者学习网
  }MARHTML5中文学习网 - HTML5先行者学习网
  可空类型MARHTML5中文学习网 - HTML5先行者学习网
  结合if和let,可以方便的处理可空变量(nullable variable)。对于空值,需要在类型声明后添加?显式标明该类型可空。MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  2MARHTML5中文学习网 - HTML5先行者学习网
  3MARHTML5中文学习网 - HTML5先行者学习网
  4MARHTML5中文学习网 - HTML5先行者学习网
  5MARHTML5中文学习网 - HTML5先行者学习网
  6MARHTML5中文学习网 - HTML5先行者学习网
  7MARHTML5中文学习网 - HTML5先行者学习网
  8MARHTML5中文学习网 - HTML5先行者学习网
  var optionalstring: string? = " hello"MARHTML5中文学习网 - HTML5先行者学习网
  optionalstring == nilMARHTML5中文学习网 - HTML5先行者学习网
  var optionalname: string? = " john appleseed"MARHTML5中文学习网 - HTML5先行者学习网
  var gretting = " hello!"MARHTML5中文学习网 - HTML5先行者学习网
  if let name = optionalname {MARHTML5中文学习网 - HTML5先行者学习网
  gretting = " hello /(name)"MARHTML5中文学习网 - HTML5先行者学习网
  }MARHTML5中文学习网 - HTML5先行者学习网
  灵活的switchMARHTML5中文学习网 - HTML5先行者学习网
  swift中的switch支持各种各样的比较操作:MARHTML5中文学习网 - HTML5先行者学习网
  1MARHTML5中文学习网 - HTML5先行者学习网
  2MARHTML5中文学习网 - HTML5先行者学习网
  3MARHTML5中文学习网 - HTML5先行者学习网
  4MARHTML5中文学习网 - HTML5先行者学习网
  5MARHTML5中文学习网 - HTML5先行者学习网
  6MARHTML5中文学习网 - HTML5先行者学习网
  7MARHTML5中文学习网 - HTML5先行者学习网
  8MARHTML5中文学习网 - HTML5先行者学习网
  9MARHTML5中文学习网 - HTML5先行者学习网
  10MARHTML5中文学习网 - HTML5先行者学习网
  11MARHTML5中文学习网 - HTML5先行者学习网
  let vegetable = " red pepper"MARHTML5中文学习网 - HTML5先行者学习网
  switch vegetable {MARHTML5中文学习网 - HTML5先行者学习网
  case " celery" :MARHTML5中文学习网 - HTML5先行者学习网
  let vegetablecomment = " add some raisins and make ants on a log."MARHTML5中文学习网 - HTML5先行者学习网
  case " cucumber" " watercress" :MARHTML5中文学习网 - HTML5先行者学习网
  let vegetablecomment = " that would make a good tea sandwich."MARHTML5中文学习网 - HTML5先行者学习网
  case let x where x.hassuffix(" pepper" ):MARHTML5中文学习网 - HTML5先行者学习网
  let vegetablecomment = " is it a spicy /(x)?"MARHTML5中文学习网 - HTML5先行者学习网
  default:MARHTML5中文学习网 - HTML5先行者学习网
  let vegetablecomment = " everything tastes good in soup."MARHTML5中文学习网 - HTML5先行者学习网
  }