目录索引

清风注解-Swift程序设计语言

Point 1.

Swift 风格的"Hello, world"

代码事例:

println("Hello, world") 

注解:

  • Swift 语言的编码风格类似于 C 或 Objective-C。因此,拥有 C 或 Objective-C 开发经验的人更容易掌握 Swift 语言。
  • 在 Swift 中,没有包含在任何类或函数当中的代码,属于拥有全局作用域的代码。
  • 你不需要为了输入输出或者字符串处理导入一个单独的库。
  • println 函数是 Swift 语言内置函数之一。Swift 包含了 74 个内置函数
  • Swift 的语句不需要以分号结尾,这是推荐的做法,也是为了简化代码,降低代码输入量。
  • 你仍然可以在语句结尾添加分号。事实上在有些情况下分号仍然是必须的,例如 for 循环语句,一行中输入多条语句。

Point 2.

Swift 中的“main”函数

代码事例:

func main() {
}

注解:

  • Swift 语言没有类似于 C 或 Objective-C 中的 main 函数。
  • Swift 语言编写的程序,会把全局作用域中的代码做作程序的入口点。
  • 即使用户自定义一个名为 main 的函数,程序仍然不会像 C 或 Objective-C 那样,把 main 函数作为程序入口点,而是与普通函数一样去处理这个 main 函数。

Point 3.

Swift 中的常量和变量

代码事例:

 // 常量定义
let address = "北京市东城区王府井大街1号"
let iPhone6Price : Int = // 变量定义
var pageNumber =
var airTemperature : Float
var stockPrice : Double = 5.88
var employeeName : String = "张三"

注解:

  • 声明方式:常量使用 let 关键字声明,变量使用 var 关键字声明。
  • 常量的值一旦设定就不能改变,而变量的值可以随意更改。
  • iPhone6Price =          // 错误:常量的值一旦设定就不能改变
    stockPrice = 6.24 // 正确:变量的值可以随意更改
  • 常量或者变量的类型必须和你赋给它们的值一样。
  • var userID : Int
    userID = "XXX" // 错误:常量或者变量的类型必须和你赋给它们的值一样
    userID = // 正确:类型一样可以赋值
  • 声明常量或变量时,其类型是可选的。如果不指定常量或变量的类型,编译器将会自动推断类型。
  • let address = "北京市东城区王府井大街1号"   // 类型被推断为String
    var pageNumber = // 类型被推断为Int
  • 声明常量时,必须提供初始值。
  • let address = "北京市东城区王府井大街1号"   // 常量定义必须赋值
    let iPhone6Price : Int = // 常量定义必须赋值
  • 声明变量时,初始值不是必须的,但没有提供初始值时,必须提供变量类型。
  • var airTemperature : Float    // 变量声明不必赋初值,但此时必须标注类型
  • 如果初始值不能够提供足够的信息(用于类型推断),就需要在常量或变量后面声明类型,用冒号分割。
  • var airTemperature : Float =    // 若不标注为Float类型,编译器会把这个值推断为Int类型
  • 值永远不会被隐式转换为其他类型。如果你需要把一个值转换成其他类型,请显式转换。
  • let label = "The width is"
    let width =
    let widthLabel = label + String(width)   // 显示的把width的值转换为String类型
  • 有一种更简单的把值转换成字符串的方法:把值写到括号中,并且在括号之前写一个反斜杠。
  • let apples =
    let oranges =
    let appleSummary = "I have \(apples) apples."
    let fruitSummary = "I have \(apples + oranges) pieces of fruit."

Point 4.

类型标注

代码事例:

let iPhone6Price : Int =
var employeeName : String = "张三"

注解:

  • 当你声明常量或者变量的时候可以加上类型标注,说明常量或者变量中要存储的值的类型。
  • 如果要添加类型标注,需要在常量或者变量名后面加上一个冒号和空格,然后加上类型名称。
  • 没有类型标注的常量或变量,编译器将会自动推断类型。

Point 5.

常量和变量的命名

注解:

  • Swift 的常量与变量名长度没有限制。
  • 你可以用任何你喜欢的字符作为常量和变量名,包括 Unicode 字符
  • let π = 3.14159
    let 你好 = "你好世界"
    let

    清风注解-Swift程序设计语言:Point1~5的更多相关文章

    1. 清风注解-Swift程序设计语言

      前言 Apple 发布了全新的 Swift 程序设计语言,用来开发 iOS 和 OS X 平台的应用程序.其目的不言而喻:就是为了给老迈的 Objective-C 一个合适接班人!因此,不难预见,未来 ...

    2. 清风注解-Swift程序设计语言:Point11~15

      目录索引 清风注解-Swift程序设计语言 Point 11. 数值型字面量 代码事例: let decimalInteger = // 十进制的17 let binaryInteger = 0b10 ...

    3. 清风注解-Swift程序设计语言:Point6~10

      目录索引 清风注解-Swift程序设计语言 Point 6. 输出常量和变量 代码事例: // 输出的内容会在最后换行 println("hello, world") // 输出的 ...

    4. 《Swift程序设计语言》中国翻译和学习笔记page23

      ·<The Swift Programming Language>中文翻译及读书笔记,附件中为英文原版教程 因21页之前内容和技术关系不大,不做翻译整理,从第21页開始 · 页 1 本页主 ...

    5. 人工智能技术导论——逻辑程序设计语言PROLOG

      最近在复习人工智能导论,里面介绍了一种逻辑关系语言PROLOG,但这本书里面用到的编译器是Turbo PROLOG,这个编译器早就被淘汰了,我后来找的了它的升级版Visual PROLOG,但一些语法 ...

    6. 操作系统和程序设计语言的API使用的字符编码分析

       1.Java的运行环境中,String是什么编码? 使用java做程序设计语言,字符编码是和jvm相关的,和操作系统无关. java默认的编码是jvm在安装的时候就确定了的,它是根据你的系统的环境确 ...

    7. python程序设计语言笔记 第一部分 程序设计基础

      1.1.1中央处理器(CPU) cpu是计算机的大脑,它从内存中获取指令然后执行这些指令,CPU通常由控制单元和逻辑单元组成. 控制单元用来控制和协调除cpu之外的其他组件的动作. 算数单元用来完成数 ...

    8. 扩展《C程序设计语言》练习2-3程序通用性

      最近开始自学C语言,在看K&R的<C程序设计语言>.练习2-3要求写一个函数,将输入的十六进制数字字符串转换成与之等价的整数值,配套答案没有扩展程序的通用性,所以我就稍微改造改造. ...

    9. C程序设计语言(第二版)习题:第一章

      第一章虽然感觉不像是个习题.但是我还是认真去做,去想,仅此而已! 练习 1-1 Run the "hello, world" program on your system. Exp ...

    随机推荐

    1. 【原】从一个bug浅谈YUI3组件的资源加载

      篇前声明:为了不涉及业务细节,篇内信息统一以某游戏,某功能代替 前不久,某游戏准备内测客户端,开发人员测试过程中发现某功能突然不灵了,之前的测试一切ok,没有发现任何异常,第一反应是,游戏内浏览器都是 ...

    2. PHP简易计算器方法2

      <?php    $sum="";    $num1=$_POST['num1'];    $num2=$_POST['num2']; if(is_numeric($num1 ...

    3. div中嵌套div速度将会同样很慢

      ---恢复内容开始--- div中嵌套了div速度将会同样很慢   最近很多老板在我们公司做企业站的时候都会要求说:我要div+css的,不要表格建的那种,那样不利于优化.但我们发现就算给他们用div ...

    4. div 居中CSS实现

      .login-box { position: absolute; border: solid #E3EAE7 1px; top: 50%; left: 50%; margin: -100px 0 0 ...

    5. switch函数——Gevent源码分析

      在gevent的源码中,经常能看到switch函数.而不同的类中的switch函数有不同的用法 1. greenlet的switch函数 这里面的greenlet是greenlet库中的greenle ...

    6. sql server 2008 (3)

      数据库表常用术语 关系--即二维表.每个关系都有个关系名,就是表名 域:取值范围 记录--行 字段,属性--列 关联--指哪个数据库表之间的数据彼此联系的方式 关键字:属性或属性的组合,可以唯一标识一 ...

    7. Android07-Android广播

      ¨广播机制简介 ¨动态和静态注册广播 ¨接收系统广播 ¨自定义广播 ¨本地广播   n广播是一种系统级的事件(Event). n当系统发生某些事件时(例如,收到短信.来电.电量低),就会向整个Andr ...

    8. C++ typeid实现原理

      最近看了boost::any类源码,其实现主要依赖typeid操作符.很好奇这样实现的时间和空间开销有多大,决定探一下究竟. VS2008附带的type_info类只有头文件,没有源文件,声明如下: ...

    9. Is life always hard?

      原文来自我的独立blog: http://www.yuanyong.org/blog/midnightsun/is-life-always-hard 和两个朋友聊天. 小L在考研,打电话过去的时候小L ...

    10. Android UI ActionBar功能-Action Bar 左上角的向上或返回按钮

      ActionBar在左上角还提供了一个向上或返回的按钮,默认情况下是隐藏的需要在代码中开启: 官方文档:http://wear.techbrood.com/training/basics/action ...