您的位置:首页 > 移动开发 > Swift

Swift3-基础语法

2017-01-12 12:00 351 查看
Swift和Objective-C语言对比:

Swift语言是对OC语言的一个优雅的包装,底层还是使用Cocoa Touch,Foundation框架,只是语言上让开发变得容易。严格来讲,OC并不是一个独立的面向对象语言,它只是在C语言上层加上了一层轻度面向对象的外壳。

Swift的新特性:

(1)函数使用()和点调用语法

(2)函数标签特性

(3)严格的类型检查(非常安全)

(4)真正的面向对象(构造函数、析构函数)

(5)命名空间

(6)泛型处理

(7)闭包(ARC,对象通信、回调函数、反向传值)

Swift3-基础语法:

包括变量、常量声明要求;类型的定义;基本运算符。

/*
1、关键字作为常量或者变量名
*/
//尽量不要使用关键字作为常量或者变量名;如果一定要用,需要使用反引号``包含其变(常)量名,如下:
let `let` = "1、关键字作为变量或常量名"
//println输出内容会在输出字符串最后加上一个换行符,print不会
print(`let`)//修改之后print也会换行
NSLog("NSLog输出")//NSLog是带有时间戳的显示

/*
2、字符串插值语法:\() -- 字符串的格式化操作
*/
print("\n2、字符串插值语法")
var name:String = "ming"
var age:Int = 16
print("My name is \(name),my age is \(age)")

/*
3、整形
*/
print("\n3、整形")
let maxValueOfInt8 = Int8.max
let maxValueOfInt16 = Int16.max
let maxValueOfInt32 = Int32.max
let maxValueOfInt64 = Int64.max
print("所有整形数值最大范围:\n" +
"int8:\(maxValueOfInt8)\n" +
"int16:\(maxValueOfInt16)\n" +
"int32:\(maxValueOfInt32)\n" +
"int64:\(maxValueOfInt64)")
let maxValueOfUInt8 = UInt8.max
let maxValueOfUInt16 = UInt16.max
let maxValueOfUInt32 = UInt32.max
let maxValueOfUInt64 = UInt64.max
print("各长度整形最大值:\n" +
"UInt8:\(maxValueOfUInt8)\n" +
"UInt16:\(maxValueOfUInt16)\n" +
"UInt32:\(maxValueOfUInt32)\n" +
"UInt64:\(maxValueOfUInt64)")

/*
4、自定义类型 typealias
*/
print("\n4、自定义类型 typealias")
typealias 字符串 = String
var str:字符串 = "ming"//自定义类型也是通过typealias关键字将某个类型赋值一下
print(str)

/*
5、数值进制
*/
print("\n5、数值进制")
let decInteger = 17             //17-是字面量
let binaryInteger = 0b10001     //17-二进制以0b作为前缀
let octalInteger = 0o21         //17-八进制以0o作为前缀
let hexInteger = 0x11           //17-十六进制以0x作为前缀
print(decInteger,binaryInteger,octalInteger,hexInteger)
//添加额外的"_"和"0"使得字面量易读
let number:Int = 000_100_000_114
print(number)

//可选变量没有对应的值或者之前的值已经失效,可将其值赋为nil(可选变量没有赋初始值时默认为nil)
//普通常量或者变量不能被赋值成nil

/*
6、算术运算符
*/
print("\n6、算术运算符")
var a = 1
a += 1
print("a=\(a)")

//+还可以进行字符串拼接
var str1 = "Hello"
var str2 = ",Ming!"
var str3 = str1 + str2
print(str3)

//取余(Swift3.0中的基础运算符并无太大改动,只是移除了取余运算符的浮点数取余功能,取余运算符可以进行浮点运算本是Swift独有的一个特点,3.0版本的改变后,Swift中的”%”运算符功能将与Objective-C与C语言中的取余运算符保持一致。)
var aa = 11
var bb = 3
print("\(aa%bb)")

//三目运算符
var age1 = 10
print(age1<0 ? "年龄不合法" : "年龄合法=\(age1)")

//区间运算符
print("\n区间运算符")
//闭区间       ...    包含最后一个值
print("闭区间")
for i in 0...2
{
print("--\(i)")
}
//半闭区间      ..<    不包含最后一个值
print("半闭区间")
for i in 0..<2
{
print("--\(i)")
}

//断言Assert操作
print("\n断言Assert操作")
let distance = 2//-1
assert(distance > 0, "连点之间距离不能小于0")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: