清风注解-Swift程序设计语言:Point6~10
目录索引
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的更多相关文章
- 清风注解-Swift程序设计语言
前言 Apple 发布了全新的 Swift 程序设计语言,用来开发 iOS 和 OS X 平台的应用程序.其目的不言而喻:就是为了给老迈的 Objective-C 一个合适接班人!因此,不难预见,未来 ...
- 清风注解-Swift程序设计语言:Point11~15
目录索引 清风注解-Swift程序设计语言 Point 11. 数值型字面量 代码事例: let decimalInteger = // 十进制的17 let binaryInteger = 0b10 ...
- 清风注解-Swift程序设计语言:Point1~5
目录索引 清风注解-Swift程序设计语言 Point 1. Swift 风格的"Hello, world" 代码事例: println("Hello, world&qu ...
- 《Swift程序设计语言》中国翻译和学习笔记page23
·<The Swift Programming Language>中文翻译及读书笔记,附件中为英文原版教程 因21页之前内容和技术关系不大,不做翻译整理,从第21页開始 · 页 1 本页主 ...
- 20145206《Java程序设计》第10周学习总结
20145206 <Java程序设计>第10周学习总结 博客学习内容总结 什么是网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定 ...
- 20145334 《Java程序设计》第10周学习总结
20145334 <Java程序设计>第10周学习总结 教材学习内容总结 一.网络编程 •网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入 ...
- 20145320 《Java程序设计》第10周学习总结
20145320 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 按照计算机网络的定义 ...
- 20145225《Java程序设计》 第10周学习总结
20145225<Java程序设计> 第10周学习总结 教材学习内容总结 一.网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据: 程序员所作的事情就是把数据发送到指定 ...
- 20145208 《Java程序设计》第10周学习总结
20145208 <Java程序设计>第10周学习总结 教材学习内容总结 了解JAVA网络编程的基础知识 这一部分知识的学习在我的实验中有叙述实验五 补充内容: 在现有的网络中,网络通讯的 ...
随机推荐
- 使用 Chrome 来调试你的 Android App
http://www.stormzhang.com/android/2015/03/05/android-debug-use-chrome/ 个人一直对Chrome情有独钟,Chrome除了更快之外, ...
- ASP.NET页面继承关系
用过ASP.NET(以下简称ASP)的都知道ASP以一种Code Behind的方式给咱展现了一种类似Winform的开发模型,同样也是以"事件触发"的方式进行各种请求处理.其中A ...
- python 学习day6(面向对象)
博客部分内容转自:http://www.cnblogs.com/wupeiqi/p/4493506.html 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法 ...
- Python学习之编写三级菜单(Day1,作业二)
作业二:多级菜单 三级菜单 可依次进入各子菜单 在各级菜单中输入B返回上一级Q退出程序 知识点:字典的操作,while循环,for循环,if判断 思路: 1.开始,打印一级菜单让用户进行选择(可以输入 ...
- jQuery学习-事件之绑定事件(七)
今天来说说事件中的handlers方法中的一个片段 1 matches[ sel ] = handleObj.needsContext ? 2 jQuery( sel, this ).in ...
- ubuntu下的notepad++
安装方法: 终端输入命令:sudo apt-get install scite 安装完成后dash中输入scite查找已经安装的scite,拖动到桌面快捷方式.
- linux自带有usb驱动,为什么还需要libusb呢
linux里的软件分为用户层和内核层两种.比如内核里编译了温度传感器的驱动,还得有lm-sensors在用户层负责解释处理内核递交出的数据.usb驱动是硬件驱动方面的东西,libusb是给应用软件开发 ...
- OpenRisc-48-or1200的SPRS模块分析
引言 之前,我们在分析or1200的WB模块时(http://blog.csdn.net/rill_zhen/article/details/10220619),介绍了OpenRISC的GPRS(ge ...
- linux 进程(二) --- 进程的创建及相关api
一.进程的创建fork()函数 由fork创建的新进程被称为子进程(child process).该函数被调用一次,但返回两次.两次返回的区别是子进程的返回值是0,而父进程的返回值则是 新子进程的进 ...
- 求解printf函数?
求大神解释一下下面的代码为什么答案不是1 2,而是1 0. #include <stdio.h> int ans = 0; int a() { ans = 1; return ans++; ...