清风注解-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网络编程的基础知识 这一部分知识的学习在我的实验中有叙述实验五 补充内容: 在现有的网络中,网络通讯的 ...
随机推荐
- Zabbix监控Linux主机设置
说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配 ...
- DIV+CSS规范命名
一.命名规则说明: 1).所有的命名最好都小写2).属性的值一定要用双引号("")括起来,且一定要有值如class="divcss5",id="div ...
- iOS多线程总结(二)NSOperation
NSOperation.h定义了NSOperation,内容非常的简洁,NSOperation本身是一个抽象类,定义了一个要执行的Task,NSOperationQueue是一个Task队列,当Tas ...
- HDOJ1166 敌兵布阵
赤裸裸的线段树,借个模板,改写一下即可. 代码: #include<iostream> #include<cstdio> #include<stdio.h> #in ...
- 求解printf函数?
求大神解释一下下面的代码为什么答案不是1 2,而是1 0. #include <stdio.h> int ans = 0; int a() { ans = 1; return ans++; ...
- javascript第四课变量作用域
局部变量: function f1() { var n1=0; //局部变量 n1=10; //全局变量,当前页面均可调用 } n1=10;//全局变量 var n1=10;//全局变量 在方法内的 ...
- 网站制作---eWebeditor不兼容IE8问题的解决方法
qq交流群:创梦技术交流群:251572072 创梦网络赚钱群:248318056 创梦娱乐休闲群:22 ...
- UVA - 10098 - Generating Fast (枚举排列)
思路:生成全排列,用next_permutation.注意生成之前先对那个字符数组排序. AC代码: #include <cstdio> #include <cstring> ...
- 软交所--微软将对IE浏览器进行关键性安全更新
微软于当地时间周四宣布下周二,即本月的"补丁星期二"推送九个安全升级. 当中最重要的就是解决IE浏览器远程运行代码(RCE)漏洞,这个漏洞影响从IE6至IE11全版本号,全部Win ...
- this.parentMenu.dataRecord.data.testID的作用
在JS里,有个this.parentMenu.dataRecord.data.XXID的方法,这个方法一般都是用来加载某个控件到一个面板或控件上的.如: loaddata(this.parentMen ...