swift基础
2016-02-15 22:50
429 查看
SWIFT开源了,要逆天!本篇博客和大家一起分享swift中的基础常识,包括如何声明一个常量和变量,如何写注释,类型相关的基础,以及元组,一起来玩吧!
我通过
我还可以一次声明一坨的常量或变量,就像这样
我一次声明了三个不同类型的变量,并且都赋了值。
swift是类型安全的。如果一个变量被推测为某种类型,那么当你尝试给它赋另外一种类型的值时,编译器就会报错,所以,你绝对不可能把一个字符串类型的变量成功地赋值给一个Int类型的变量。
在第一行代码中,我指明了str为String类型。在第二行代码中,如果我不进行类型标注的话,number变量就会被推测为Int类型,但我希望它是一个长整型,就显式地标注为Int64类型。
Int 或 Int32,32位整型
Int16,短整型
Int8,更短的整型
Int64,长整型
Float,单精度浮点型
Double,双精度浮点型
Bool,布尔类型,只支持true和false两个值
元组把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。
下面是一个元组的定义
你可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型。只要你想,你可 以创建一个类型为(Int, Int, Int)或者(String, Bool)或者其他任何你想要的组合的元组。
拿到元组后,可以这样进行拆分
这样就能够单独使用statusCode和statusMessage这两个常量了。
如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记
这样你可以使用常量statusCode。
此外,你还可以通过下标来访问元组中的单个元素,下标从零开始
你可以在定义元组的时候给单个元素命名,这样的话,可以直接用名字来使用元组,像对象那样
常量和变量
在swift中,所有的值只有两种形式,常量和变量。常量和变量需要先声明再使用。下面先来看看如何声明一个常量和变量。let pi = 3.1415927 var str = "hello,world!"
我通过
let来声明一个常量pi并赋值,这个pi的值就不能再修改了,否则编译器会报错,通过
var来声明一个变量并赋值,由于str是一个变量,所以我可以再次给它赋新的值。
我还可以一次声明一坨的常量或变量,就像这样
var str = "hello,world!" , number=12 , boolen=true
我一次声明了三个不同类型的变量,并且都赋了值。
分号
与其他大部分编程语言不同,Swift 并不强制要求你在每条语句的结尾处使用分号(;),当然,你也可以按照你自己的习惯添加分号。有一种情况下必须要用分号,即你打算在同一行内写多条独立的语句let str = "hello,world"; print(str)
类型推测和类型安全
我在上面的代码中声明了三个不同的变量,很显然,它们三个的类型是不一样的。swift具有类型推测的能力,会根据你首次给常量或变量赋的值来推断当前常量或变量的类型。例如,变量str会被推测为String类型,number会被推测为Int类型,boolen会被推测为Bool类型。swift是类型安全的。如果一个变量被推测为某种类型,那么当你尝试给它赋另外一种类型的值时,编译器就会报错,所以,你绝对不可能把一个字符串类型的变量成功地赋值给一个Int类型的变量。
类型标注
有时候,swift的类型推测机制得出的结果并不是我们想要的,或者有些人喜欢在声明变量或常量时显式地指明其类型,可以使用swift的类型标注。var str : String="hello,world" var number : Int64 = 12
在第一行代码中,我指明了str为String类型。在第二行代码中,如果我不进行类型标注的话,number变量就会被推测为Int类型,但我希望它是一个长整型,就显式地标注为Int64类型。
类型转换
如果我希望将上面长整形的值同一个整型或一个浮点型数字相加,就需要进行类型转换,swift是不支持隐式的类型转换的var flt = Float(number) + 2.12
注释
swift的注释语法和主流的语言一样,同样支持单行注释和多行注释。//这里是单行注释 /* 这里是 多行 注释 */
数字类型和布尔类型
swift支持的数字类型有:Int 或 Int32,32位整型
Int16,短整型
Int8,更短的整型
Int64,长整型
Float,单精度浮点型
Double,双精度浮点型
Bool,布尔类型,只支持true和false两个值
元组
跟Python一样,swift也支持元组(tuples),这是一个很牛逼的东西!假如你有一个方法,希望返回三个值,怎么办呢?最常用的方法就是,将这三个值定义在一个类中,然后是你的方法返回这个类的一个对象。但是如果你的这个对象就使用一次,岂不是很麻烦。元组可以很好地解决这个问题,主需要返回一个元组就搞定了。元组把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型。
下面是一个元组的定义
let http404Error = (404, "Not Found") // http404Error 的类型是 (Int, String),值是 (404, "Not Found")
你可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型。只要你想,你可 以创建一个类型为(Int, Int, Int)或者(String, Bool)或者其他任何你想要的组合的元组。
拿到元组后,可以这样进行拆分
let (statusCode, statusMessage) = http404Error
这样就能够单独使用statusCode和statusMessage这两个常量了。
如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记
let (statusCode, _) = http404Error
这样你可以使用常量statusCode。
此外,你还可以通过下标来访问元组中的单个元素,下标从零开始
let statusCode = http404Error.0 let statusMessage = http404Error.1
你可以在定义元组的时候给单个元素命名,这样的话,可以直接用名字来使用元组,像对象那样
let http404Error = (statusCode : 404, statusMessage : "Not Found") let statusCode = http404Error.statusCode let statusMessage = http404Error.statusMessage
相关文章推荐
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- Erlang语法学习笔记:变量、原子、元组、列表、字符串
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- Python内建数据结构详解
- 用Swift构建一个简单的iOS邮件应用的方法
- 苹果公司推出的新编程语言Swift简介和入门教程
- Python中的tuple元组详细介绍
- Python中列表和元组的相关语句和方法讲解
- Python随手笔记第一篇(2)之初识列表和元组
- 探讨Swift数组和字典
- Swift中的指针操作和使用详细介绍
- Swift中使用正则表达式的一些方法
- Swift心得笔记之运算符