把老师讲得知识和大家分享下咯,希望大家提出疑问,这是我综合自己理解和老师讲得敲出来的!
//var str = "Hello, playground"
//定义变量
let a0:Int = 5;
//定义函数
func test() {
print("asdfg")
}
test()
//定义带参数并且有返回值的参数
func test1(a: Int) ->Int {
return 100;
}
test1(100)
//Swift 语言代码后面可以加;结束,也可以不加
//定义参数的顺序,最好与声明变量的顺序一样
//默认情况下,其参数是常量
//to 外部名:针对的时调用者 列如:add
//add:to:
func add(a: Int ,to b: Int) ->Int {
return a + b;
}
add(10, to: 10)
//加下划线_ 可以不显示参数名定义 列如:add2
func add2(a: Int ,_ b: Int) ->Int {
return a + b;
}
add2(10, 10)
//定义变量是可以给它加默认值,但是在调用此方法时可以修改其默认值 列如:add3
func add3(a: Int = 10 ,b: Int = 20 ) ->Int {
return b/a;
}
add3();
add3(5, b: 100);
func add4(initNum: Int,numbers: Int...) -> Int {
var totals = initNum;
for num in numbers {
totals += num;
}
return totals;
}
add4(5, numbers: 1,2,3)
//除了add4的这种定义,我们还可以add5这种定义,不过我们不建议这样定义
func add5(numbers: Int...,initNum: Int) ->Int {
var totals = initNum;
for num in numbers {
totals += num;
}
return totals;
}
add4(5, numbers: 1);
func vtest(var a: Int) ->Int {
return (++a);
}
var m = 6;
vtest(m)
let result = vtest(m);
func vtest2(inout a: Int) ->Int {
a++;
return a;
}
vtest2(&m);
//****************字符串
var str = "hello";
let i = 6;
var str2 = "hello\(i)"//插值法
let a = "asdfg";
a.characters.count; //字符串的个数
a.startIndex;//字符串的起始下标 0
a[a.startIndex];//下标0对应的字符
a.endIndex;
a.endIndex //下标的总个数
a[a.startIndex.successor().successor().successor()];//下标0的后的第三个对应的字符
a[a.startIndex.successor().predecessor()]//小标0的下个小标的上个下标对应的字符
a.startIndex.successor().advancedBy(3);//下标0后的下一个下标的后3个小标
a.substringFromIndex(a.startIndex.advancedBy(2));//从下标2开始到最后的字符串
a.substringFromIndex(a.endIndex.advancedBy(-3))//从后往前,截取后面三个字符串
let ran = Range(start: a.startIndex, end: a.startIndex.advancedBy(4));//范围
a.substringWithRange(ran);
var str3 = "hello work";
str3.hasPrefix("h");//判断开头参数是否由h打头
str3.hasSuffix("k")//判断开头参数是否由k结尾