shunhua's blog

Swift学习笔记NO.2

2017-09-25

Swift学习笔记NO.2

Swift 基本语法

在上一章节中我们已经讲到如何创建 Swift 语言的 “Hello, World!” 程序。现在我们来复习下。
如果创建的是 OS X playground 需要引入 Cocoa :

1
2
3
4
import Cocoa

var myString = "Hello, World!"
print(myString)

如果我们想创建 iOS playground 则需要引入 UIKit :

1
2
3
import UIKit
var myString = "Hello, World!"
print(myString)

Swift 数据类型

实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
import Cocoa

// varA 会被推测为 Int 类型
var varA = 42
print(varA)

// varB 会被推测为 Double 类型
var varB = 3.14159
print(varB)

// varC 也会被推测为 Double 类型
var varC = 3 + 0.14159
print(varC)

执行以上代码,输出结果为:

1
2
3
42
3.14159
3.14159

Swift 变量

变量声明意思是告诉编译器在内存中的哪个位置上为变量创建多大的存储空间。
在使用变量前,你需要使用 var 关键字声明它,如下所示:

1
2
3
4
5
6
7
8
9
import Cocoa

var varA = 42
print(varA)

var varB:Float

varB = 3.14159
print(varB)

执行以上代码,输出结果为:

1
2
42
3.14159

变量输出

1
2
3
4
5
6
import Cocoa

var name = "菜鸟教程"
var site = "http://www.runoob.com"

print("\(name)的官网地址为:\(site)")

Swift 可选(Optionals)类型

Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示”那儿有一个值,并且它等于 x “或者”那儿没有值”。
Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的:

1
2
var optionalInteger: Int?
var optionalInteger: Optional<Int>

执行以上代码,输出结果为:

1
2
42
3.14159

实例输出

1
2
3
4
5
6
7
8
9
import Cocoa

var myString:String? = nil

if myString != nil {
print(myString)
}else{
print("字符串为 nil")
}

Swift 常量

常量一旦设定,在程序运行时就无法改变其值。
常量可以是任何的数据类型如:整型常量,浮点型常量,字符常量或字符串常量。同样也有枚举类型的常量:
常量类似于变量,区别在于常量的值一旦设定就不能改变,而变量的值可以随意更改。
常量使用关键字 let 来声明,语法如下:

1
2
3
4
import Cocoa

let constA = 42
print(constA)

执行以上代码,输出结果为:

1
42

Swift 运算符

运算符是一个符号,用于告诉编译器执行一个数学或逻辑运算。
Swift 提供了以下几种运算符:算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、区间运算符、其他运算符

1
2
3
4
5
6
7
8
9
10
11
12
13
import Cocoa

var A = 10
var B = 20

print("A + B 结果为:\(A + B)")
print("A - B 结果为:\(A - B)")
print("A * B 结果为:\(A * B)")
print("B / A 结果为:\(B / A)")
A += 1 // 类似 A++
print("A += 1 后 A 的值为 \(A)")
B -= 1 // 类似 B--
print("B -= 1 后 B 的值为 \(B)")

执行以上代码,输出结果为:

1
2
3
4
5
6
A + B 结果为:30
A - B 结果为:-10
A * B 结果为:200
B / A 结果为:2
A += 1 后 A 的值为 11
B -= 1 后 B 的值为 19

Swift 条件语句

运算符是一个符号,用于告诉编译器执行一个数学或逻辑运算。
Swift 提供了以下几种运算符:算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、区间运算符、其他运算符

1
2
3
if boolean_expression {

}

Swift 循环

Swift for-in 循环用于遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。

1
2
3
for index in var {
循环体
}

Swift 字符串

可以通过使用字符串字面量或 String 类的实例来创建一个字符串:

1
2
3
4
5
6
7
8
9
import Cocoa

// 使用字符串字面量
var stringA = "Hello, World!"
print( stringA )

// String 实例化
var stringB = String("Hello, World!")
print( stringB )

Swift 字符(Character)

Swift 的字符是一个单一的字符字符串字面量,数据类型为 Character

1
2
3
4
5
6
7
import Cocoa

let char1: Character = "A"
let char2: Character = "B"

print("char1 的值为 \(char1)")
print("char2 的值为 \(char2)")

Swift 数组

我们可以使用构造语法来创建一个由特定数据类型构成的空数组:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import Cocoa
var someInts = [Int](repeating: 10, count: 3)
var someVar = someInts[0]


var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

Swift 字典

我们可以使用构造语法来创建一个由特定数据类型构成的空数组:

1
2
3
4
5
6
7
8
9
10
import Cocoa

var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]

var someVar = someDict[1]

print( "key = 1 的值为 \(someVar)" )
print( "key = 2 的值为 \(someDict[2])" )
print( "key = 3 的值为 \(someDict[3])" )

Swift 函数

Swift 定义函数使用关键字 func。:

1
2
3
4
5
6
7
import Cocoa

func runoob(site: String) -> String {
return (site)
}
print(runoob(site: "www.runoob.com"))

Swift 闭包

闭包(Closures)是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。

1
2
3
4
5
6
7
8
import Cocoa

let divide = {(val1: Int, val2: Int) -> Int in
return val1 / val2
}
let result = divide(200, 20)
print (result)

Swift 枚举

枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import Cocoa

// 定义枚举
enum DaysofaWeek {
case Sunday
case Monday
case TUESDAY
case WEDNESDAY
case THURSDAY
case FRIDAY
case Saturday
}

var weekDay = DaysofaWeek.THURSDAY
weekDay = .THURSDAY
switch weekDay
{
case .Sunday:
print("星期天")
case .Monday:
print("星期一")
case .TUESDAY:
print("星期二")
case .WEDNESDAY:
print("星期三")
case .THURSDAY:
print("星期四")
case .FRIDAY:
print("星期五")
case .Saturday:
print("星期六")
}

Swift 结构体

Swift 结构体是构建代码所用的一种通用且灵活的构造体

1
2
3
4
5
6
7
8
9
10
11
12
import Cocoa

struct studentMarks {
var mark1 = 100
var mark2 = 78
var mark3 = 98
}
let marks = studentMarks()
print("Mark1 是 \(marks.mark1)")
print("Mark2 是 \(marks.mark2)")
print("Mark3 是 \(marks.mark3)")

Swift 类

Swift 类是构建代码所用的一种通用且灵活的构造体。
我们可以为类定义属性(常量、变量)和方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import Cocoa

class MarksStruct {
var mark: Int
init(mark: Int) {
self.mark = mark
}
}

class studentMarks {
var mark1 = 300
var mark2 = 400
var mark3 = 900
}
let marks = studentMarks()
print("Mark1 is \(marks.mark1)")
print("Mark2 is \(marks.mark2)")
print("Mark3 is \(marks.mark3)")


  • Notice

如若需要,请戳 [ About ] 下联系我 欢迎联系.ok,enjoy it ! ~~

使用支付宝打赏
使用微信打赏

欢迎点击上方按钮对我打赏,谢谢你给我吃糖果