【iOS开发】重学Swift第一天

Swift是2014年WWDC正式发布的,是一门安全、高效、简洁、现代化的高级开源编程语言。

Hello Swift

第一个Swift程序,打印"Hello Swift"。不用编写main函数,将全局首句可执行的代码作为程序的入口。不用在每条语句的末尾写上分号(;),多条语句写在同一行需要用分号分割。

print("Hello Swift")

Swift注释

Swift里的注释跟Objective-C中的注释类似,//单行注释,用/**/包裹多行注释,只不过Swift中的多行注释支持嵌套模式。

//单行注释

/*
这里是多行注释
*/

Swift中的标识符

Swift中的标识符(如常量名、变量名、函数名)几乎可以使用任何字符,不能以数字开头,不能包含空白符、制表符、箭头等特殊字符。

Swift变量与常量

Swift中用关键字var定义变量,用关键字let定义常量。

//定义变量
var age = 10
var x = 0.0, y = 0.0, z = 0.0
var red, green, blue: Double //都是Double类型
var red, green:Int, blue: Double //前俩是Int类型

//定义常量
let PI:Double = 3.1415926

Swift中变量及常量需要注意的地方

  • 变量、常量在初始化之前都不能使用
  • 常量不必在编译时就知道它的值(其它语言比如C语言则不能),但在使用之前必须赋值一次

使用Swift中的保留关键字

用``(键盘左上角的反勾号)包裹Swift中的保留关键字可以用来命名。避免这种用法,除非万不得已。

//使用Swift保留关键字
let `let` = "let"
print(`let`) //打印let

Swift中的数据类型

值类型(value type)枚举(enum)Optional
结构体(struct)Bool、Int、Float、Double、Character
String、Array、Dictionary、Set
引用类型(reference type)类(class)
  • 整数类型:Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64。在32bit平台,Int等价于Int32;在64bit平台,Int等价于Int64。
  • 浮点类型:Float,32位,精度只有6位;Double,64位,精度至少16位。

字面量

//布尔
let b = true

//字符串
let str = "String"

//字符
let cat:Character = "🐱"

//整数
let decimalInteger = 17
let binaryInteger = 0b10001     // 17 in binary notation
let octalInteger = 0o21         // 17 in octal notation
let hexadecimalInteger = 0x11   // 17 in hexadecimal notation

//浮点数
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0 //16进制表示10进制里面的12.1875

/*
1.25e2 相当于 1.25 x 102, or 125.0.
1.25e-2 相当于 1.25 x 10-2, or 0.0125.

0xFp2 相当于 15 x 22, or 60.0.
0xFp-2 相当于 15 x 2-2, or 3.75.
*/

//字面量直接相加,因为数字字面量本身没有明确的类型
let result = 3 + 0.14159

//数组
let array = [2,4,6,8,10]

//字典
let dict = ["widtd":4.0,"height":5.0]

类型转换

//整型间转换
let twoThousand: UInt16 = 2_000
let one: UInt8 = 1
let twoThousandAndOne = twoThousand + UInt16(one)

//整型、浮点型间转换
let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine

/*
下面这种方式会报错
let twoThousand: UInt16 = 2_000
let one: UInt8 = 1
let twoThousandAndOne = UInt8(twoThousand) + one
*/

元组

元组将多个值组合成一个复合值。元组中的值可以为任意类型。

let httpCodeMsg = (200,"OK")
print(httpCodeMsg.0,httpCodeMsg.1)

基本运算符

运算符是检查、改变、合并值的特殊符号或短语。Swift支持大部分标准C语言的运算符,且改进许多特性来减少常规编码错误。

  • 赋值运算符:=
  • 算术运算符:+、-、*、/
  • 取余运算符:%
  • 比较运算符:>、>=、==、!=、<、<=
  • 逻辑运算符:&&、!、||
  • 区间运算符:闭区间a…b;半开区间a…b;单边区间符…a、…a、…a
  • 空合并运算符:(a ?? b)将对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b。a != nil ? a! : b
    (a是可选项,b跟a的存储类型必须相同。如果a不为nil,则返回a;如果a为nil,则返回b;如果b不是可选项,返回a时自动解包)

其它注意事项

  • Swift3去除了自增运算符(++)、自减运算符(–)
  • 与C语言和Objective-C不同,Swift的赋值操作并不返回任何值。所以以下代码是错误的,可以避免把==写成=。
    if x = y {
        //此句错误, 因为 x = y 并不返回任何值
    }
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值