swift基本示例
新建一个CommandLine Tool
1、输出helloworld
/* 我的第一个 Swift 程序 */ var myString = "Hello, World!" print(myString)
2、数值类型
var a=1
var b=2
print(a+2)
///3
3、字符串类型
var a="1"
var b="2"
print(a+ b)
//错误
必须写成
print(a+b)
或者
print(a + b)
3、空类型nil
var b:String? = nil
显示数据
var b:String?=nil;
print(b!);
(lldb)
4、可选绑定
使用可选绑定(optional binding)来判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定可以用在if和while语句中来对可选类型的值进行判断并把值赋给一个常量或者变量。
像下面这样在if语句中写一个可选绑定:
if let constantName = someOptional { statements }
5、let使用
var a="1";
a="2";
print(a);
使用var可以修改值
如果换成let是常量不可以修改
let a="1";
a="2";
print(a);
//错误
另外常量必须事先定义
6、字面量
字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。
7、运算符
和C语言的基本类似
8、区间运算符
print("闭区间运算符:") for index in 1...5 { print("\(index) * 5 = \(index * 5)") } print("半开区间运算符:") for index in 1..<5 { print("\(index) * 5 = \(index * 5)") }
7、循环
for(int a = 0;a < 3;a++)
print(a);
Swift3 中已不再支持以上for循环,使用以下方式
for a in 1...3 {
print(a);
}
输出
1
2
3
8、fallthrough 在swift中不加break也不会执行下一个case语句,需要加fallthrough才执行
var index = 10 switch index { case 100 : print( "index 的值为 100") case 10,15 : print( "index 的值为 10 或 15") case 5 : print( "index 的值为 5") default : print( "默认 case") }
将会执行case 10,15 5两个分支
9、Swift中的字符类型不能使用单引号,比如
var a=‘1‘
print(a)
是错误的
let a: Character = "A"
这样才行
10、数组
var a:[Int] = [10, 20, 30]
var a = [Int](repeating: 0, count: 3)
11、字典类型
var a= [Int: String]()
12、函数写法
func test(obj: String) -> String { return (obj) }
如果没有inout内部不能从新赋值
// 定义一个交换两个变量的函数 func swapTwoInts(_ a:inout Int, _ b: inout Int) { let temporaryA = a a = b b = temporaryA } var numb1 = 100 var numb2 = 200 print("交换前数据: \(numb1) 和 \(numb2)") swapTwoInts(&numb1, &numb2) print("交换后数据: \(numb1) 和 \(numb2)")
如果不加_,需要在调用前指定参数名,如
import Foundation // 定义一个交换两个变量的函数 func swapTwoInts(_ a:inout Int, b: inout Int) { let temporaryA = a a = b b = temporaryA } var numb1 = 100 var numb2 = 200 print("交换前数据: \(numb1) 和 \(numb2)") swapTwoInts(&numb1, b:&numb2) print("交换后数据: \(numb1) 和 \(numb2)")
13、扩展方法
extension Int { var add: Int {return self + 100 } var sub: Int { return self - 10 } var mul: Int { return self * 10 } var div: Int { return self / 5 } }
14、下划线作用,增强可读性,忽略值等作用
let oneMillion = 1_000_000
let http404Error = (404, "Not Found") let (_, errorMessage) = http404Error
let base = 3 let power = 10 var answer = 1 for _ in 1...power { answer *= base }
参考:
https://www.runoob.com/swift/swift-functions.html
https://www.jianshu.com/p/fcdfc8306a94