目录索引

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

Point 6.

输出常量和变量

代码事例:

// 输出的内容会在最后换行
println("hello, world")
// 输出的内容最后不会换行
print("My name is Dash Geng")

注解:

  • 可以用 println 或 print 函数来输出当前常量或变量的值。
  • println 和 print 是用来输出的全局函数(内置函数)。
  • println 函数输出的内容会在最后换行。
  • print 函数输出的内容最后不会换行。
  • Swift 用字符串插值的方式把常量名或者变量名当做占位符加入到长字符串中,代码执行时会用当前常量或变量的值替换这些占位符。

Point 7.

Swift 代码注释

代码事例:

/* Swift的注释风格包括多行注释(/* */)和单行注释(//)
/*
多行注释中可以嵌套多行注释
*/
// 多行注释中也可以嵌套单行注释
*/

注解:

  • 和其他语言一样,Swift 编译器在编译代码时,会自动忽略注释部分。
  • Swift 有单行注释和多行注释两种注释风格。
  • 单行注释以双正斜杠(//)作为起始标记。
  • 多行注释的起始标记为单个正斜杠后跟随一个星号(/*),终止标记为一个星号后跟随单个正斜杠(*/)。
  • Swift 的多行注释中可以包含单行注释,也可以嵌套多行注释。

Point 8.

整数类型

代码事例:

// 有符号整数
var temperature : Int8 = -
var height : Int16 =
var monthlyExpenditure : Int32 = -
var landArea : Int64 = 9_600_000
// 无符号整数
var age : UInt8 =
var years : UInt16 =
var moonDistance : UInt32 =
var globalPopulation : UInt64 = 7_000_000_000 

注解:

  • 整数就是没有小数部分的数字。
  • Swift 提供了 8,16,32 和 64 位的有符号和无符号整数类型。
  • 有符号整数类型:Int,Int8,Int16,Int32,Int64。
  • 无符号整数类型:UInt,UInt8,UInt16,UInt32,UInt64。
  • Swift 的所有数据类型都采用大写命名法。
  • 你可以访问不同整数类型的 min 和 max 属性来获取对应类型的最大值和最小值。
  • // 16位有符号数的最小值:-32768
    let minInt16Num : Int16 = Int16.min
    // 16位无符号数的最小值:0
    let minUInt16Num : UInt16 = UInt16.min
    // 32位有符号整数的最大值:2_147_483_647
    let maxInt32Num : Int32 = Int32.max
    // 32位无符号整数的最大值:4_294_967_295
    let maxUInt32Num : UInt32 = UInt32.max
  • Swift 提供了一个特殊的整数类型 Int,长度与当前平台的原生字长相同。在 32 位平台上,Int 和 Int32 长度相同;在 64 位平台上,Int 和 Int64 长度相同。
  • /* Int类型的长度取决于当前CPU字长,本机字长64位,
    因此maxIntNum为:9_223_372_036_854_775_807
    */
    let maxIntNum : Int = Int.max
  • Swift 也提供了一个特殊的无符号类型 UInt,长度与当前平台的原生字长相同。在 32 位平台上,UInt 和 UInt32 长度相同;在 64 位平台上,UInt 和 UInt64 长度相同。
  • /* UInt类型的长度取决于当前CPU字长,本机字长64位,
    因此maxUIntNum为:18_446_744_073_709_551_615
    */
    let maxUIntNum : UInt = UInt.max
  • 尽量不要使用 UInt,而是统一使用 Int,这样可以提高代码的可复用性,避免不同类型数字之间的转换,并且匹配数字的类型推断。

Point 9.

浮点数类型

代码事例:

var floatNum : Float = 1.12345678901234567890
var float32Num :Float32 = 1.12345678901234567890
var float64Num : Float64 = 1.12345678901234567890
var float80Num : Float80 = 1.12345678901234567890
var doubleNum : Double = 1.12345678901234567890
// floatNum的值为:1.123_456_835_746_77
println("\(floatNum)")
// float32Num的值为:1.123_456_835_746_77
println("\(float32Num)")
// float64Num的值为:1.123_456_789_012_35
println("\(float64Num)")
// float80Num的值为:1.123_456_789_012_35
println("\(float80Num)")
// doubleNum的值为:1.123_456_789_012_35
println("\(doubleNum)") 

注解:

  • 浮点数是有小数部分的数字。
  • 浮点类型比整数类型表示的范围更大,可以存储比 Int 类型更大或者更小的数字。
  • Swift 提供了 Double 和 Float 两种有符号浮点数类型。
  • Float 表示 32 位浮点数,Double 表示 64 位浮点数。
  • Float 精确只有 6 位数字,Double 精确度很高,至少有 15 位数字。
  • 实际上 Swift 有五种可选的有符号浮点数类型:Float,Float32,Float64,Float80,Double。
  • 在 64 位处理器上,Float 和 Float32 的取值范围相同,Float64,Float80,Double 这三种类型的取值范围相同。

Point 10.

类型安全和类型推断

代码事例:

// 常量或变量的赋值操作会触发类型推断。
// 类型推断把正整数推断为Int类型
var index =
// 类型推断把浮点数推断为Double类型
var pai = 3.14 

注解:

  • Swift 是一个类型安全的语言。类型安全的语言可以让你清楚地知道代码要处理的值的类型。
  • 由于 Swift 是类型安全的,所以它会在编译代码时进行类型检查,并把不匹配的类型标记为错误。
  • 如果没有显式指定类型,Swift 会使用类型推断来选择合适的类型。
  • 在声明常量或者变量的时候,赋给它们一个字面量即可触发类型推断。
  • 类型推断会把正整数推断为 Int 类型,把浮点数推断为 Double 类型。

作者:清风抚柳 (DashGeng)

出处:http://www.cnblogs.com/dashgeng/

    本文首发博客园,版权归作者所有,欢迎转载!
    未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,
    否则保留追究法律责任的权利。

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

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

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

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

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

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

    目录索引 清风注解-Swift程序设计语言 Point 1. Swift 风格的"Hello, world" 代码事例: println("Hello, world&qu ...

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

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

  5. 20145206《Java程序设计》第10周学习总结

    20145206 <Java程序设计>第10周学习总结 博客学习内容总结 什么是网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定 ...

  6. 20145334 《Java程序设计》第10周学习总结

    20145334 <Java程序设计>第10周学习总结 教材学习内容总结 一.网络编程 •网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入 ...

  7. 20145320 《Java程序设计》第10周学习总结

    20145320 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 按照计算机网络的定义 ...

  8. 20145225《Java程序设计》 第10周学习总结

    20145225<Java程序设计> 第10周学习总结 教材学习内容总结 一.网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据: 程序员所作的事情就是把数据发送到指定 ...

  9. 20145208 《Java程序设计》第10周学习总结

    20145208 <Java程序设计>第10周学习总结 教材学习内容总结 了解JAVA网络编程的基础知识 这一部分知识的学习在我的实验中有叙述实验五 补充内容: 在现有的网络中,网络通讯的 ...

随机推荐

  1. js中继承的方法总结(apply,call,prototype)

    一,js中对象继承 js中有三种继承方式 1.js原型(prototype)实现继承 代码如下: <SPAN style="<SPAN style="FONT-SIZE ...

  2. Springmvc加载静态文件和开启EL表达式的支持

    一.静态文件加载问题 刚开始学习SpringMVC,发现静态文件无法加载 web.xml配置如下: <web-app id="WebApp_ID" version=" ...

  3. python---连接MySQL第五页

    Connector/Python Connection Arguments A connection with the MySQL server can be established using ei ...

  4. struts2之动态方法调用(转)

    转自:http://blog.csdn.net/longwentao/article/details/6940289 当我们访问一个Action时,默认是访问execute()方法,但当在一个Acti ...

  5. POJ 3662 Telephone Lines(二分答案+SPFA)

    [题目链接] http://poj.org/problem?id=3662 [题目大意] 给出点,给出两点之间连线的长度,有k次免费连线, 要求从起点连到终点,所用的费用为免费连线外的最长的长度. 求 ...

  6. poj3094---对字符串的处理

    #include <stdio.h> #include <stdlib.h> #include<string.h> int main() { ]; int len, ...

  7. JQuery日记6.9 Promise/A之Callbacks

    JQuery并没有简单的使用一个Array来存储回调函数,而是通过JQuery.Callbacks(options)返回一个self对象,此对象能够动态的add,remove和fire回调函数队列.此 ...

  8. [Python]ConfigParser解析配置文件

    近期发现非常多接口配置都硬编码在souce file中了,于是就看了下python怎么解析配置文件,重构下这一块. 这个应该是早就要作的... 配置文件: [mysqld] user = mysql ...

  9. EXCEL破冰之旅

    1     背景 EXCEL用于日常数据分析的工具中,最便利并且最强大的莫属透视表了.因为透视表对原始数据有一定的要求,所以本次的破冰之旅也将把焦点放在如何整理基础数据这个方面. 1.1  初识透视表 ...

  10. JSP基础——关于中文乱码问题

    乱码问题十分烦人,今天在写一个登陆的demo时,表单中需要提交的中文姓名,如下代码 <form action="success.jsp" name="success ...