清风注解-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网络编程的基础知识 这一部分知识的学习在我的实验中有叙述实验五 补充内容: 在现有的网络中,网络通讯的 ...
随机推荐
- C#.NET Split 的几种使用方法
第一种方法: string s = "abcdeabcdeabcde"; string[] sArray = s.Split('c'); foreach (string i in ...
- EOFError:EOF when reading a line
Sublime2编译Python程序EOFError:EOF when reading a line: 是因为Sublime2对于python中运行含有input或者raw_input的python代 ...
- javascript 数据结构和算法读书笔记 > 第三章 列表
1. 结构分析 列表首先要有以下几个属性: listSize 长度 pos 当前位置 dataStore 数据 我们要通过以下方法对上面三个属性进行操作: length() 获取长度 | getPos ...
- 稠密图(邻接矩阵),并查集,最短路径(Dijkstra,spfa),最小生成树(kruskal,prim)
全部函数通过杭电 1142,1162,1198,1213等题目测试. #include<iostream> #include<vector> #include<queue ...
- 浅析document.createDocumentFragment()与js效率
对于循环批量操作页面的DOM有很大帮助!利用文档碎片处理,然后一次性append,并且使用原生的javascript语句操作 document.createDocumentFragment()说白了就 ...
- MYSQL 简单的循环存储过程
BEGIN ; ; DO DO ); ; ) THEN ; END IF; END WHILE; ; ; END WHILE; END
- 编程内功修炼之数据结构—BTree(二)实现BTree插入、查询、删除操作
1 package edu.algorithms.btree; import java.util.ArrayList; import java.util.List; /** * BTree类 * * ...
- aix lvm_lv_vg
Aix扩展文件系统,添加新硬盘 Cfgmgr 重新扫描新硬盘 Lspv Chdev –l hdisk3 –a pv=yes Extendvg rootvg hdisk3 note 上面的报错解决 Sm ...
- #include <time.h>
1 _strtime 2 difftime 3 srand 4 time 1 _strtime 函数简介 函数名: _strtime 头文件: time.h 函数原型: char * _strtime ...
- C#反射概念以及实例详解【转】
2009-08-28 13:12 佚名 互联网 我要评论(1) 字号:T | T C#反射概念以及实例向你介绍了C#反射的基本内容以及C#反射实例的简单应用,希望对你了解和学习C#反射以及C#反射实例 ...