清风注解-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网络编程的基础知识 这一部分知识的学习在我的实验中有叙述实验五 补充内容: 在现有的网络中,网络通讯的 ...
随机推荐
- Bitmap、BitmapDrawable、BitmapFactory、Matrix类之间的关系
1.BitmapFactory是一个工具类 Bitmap实现在android.graphics包中.但是Bitmap类的构造函数是私有的,外面并不能实例化,只能是通过JNI实例化.这必然是 某个辅助类 ...
- SQL SERVER 2008 架构
架构: 一个容器 包含表,视图,数据库对象等等. 相当于命名空间 如何创建一个架构: 1. 图形向导 2.命令 create schema 在sqlserver 2005中,可能大家在工作或学习的时候 ...
- Kaggle入门
Kaggle入门 1:竞赛 我们将学习如何为Kaggle竞赛生成一个提交答案(submisson).Kaggle是一个你通过完成算法和全世界机器学习从业者进行竞赛的网站.如果你的算法精度是给出数据集中 ...
- EMV标准
EMV标准是由国际三大银行卡组织--Europay(欧陆卡,已被万事达收购).MasterCard(万事达卡)和Visa(维萨)共同发起制定的银行卡从磁条卡向智能IC卡转移的技术标准,是基于IC卡的金 ...
- [工具]Mac下非常好用的快捷终端Dterm
[工具]Mac下非常好用的快捷终端Dterm A command line anywhere and everywhere 这是可在任何目录下直接用全局快捷键直接调出命令输入框的小工具,非常好用 作 ...
- VC维度
由vc bound可以知道: $P(\exists h\in H~s.t~|E_{in}(h)-E_{out}(h)|>\epsilon)\\ \leq 4M_H(2N)exp(-\frac{ ...
- 编程内功修炼之数据结构—BTree(二)实现BTree插入、查询、删除操作
1 package edu.algorithms.btree; import java.util.ArrayList; import java.util.List; /** * BTree类 * * ...
- 【Leetcode】Set Matrix Zeroes
给定一个m x n的矩阵,如果某个元素为0,则把该元素所在行和列全部置0. Given a m x n matrix, if an element is 0, set its entire row a ...
- android 自定义ViewGroup和对view进行切图动画实现滑动菜单SlidingMenu[转]
http://blog.csdn.net/jj120522/article/details/8095852 示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这 ...
- Egret初体验–躲避类小游戏
下面简单介绍一下我这个游戏:基本上就3个画面(准备再添加一个胜利的界面)开始画面,一个按钮,点击进入游戏游戏画面,滚动的背景,触摸移动的老鹰,从天而降的翔,以及右上角的时间条结束画面,显示结果,关注按 ...