一、 函数
- 函数定义
1.没有参数,没有返回值的函数
func method1() ->Void{
print("没有参数,没有返回值的函数")
}
2..有参数,没有返回值的函数
func method2(number:Int) ->Void{
print("有参数,没有返回值的函数")
}
3.没参数,有返回值的函数
func method3() ->String{
print("没参数,有返回值的函数")
return "1234"
}
4.有参数,有返回值的函数
func method4(num1 : Int, num2 : Int) -> Int {
print("有参数,有返回值的函数")
return num1 + num2
}
method4(num1: 1, num2: 2)
- 函数的外部参数和内部参数
func method4(num1 : Int, num2 : Int) -> Int {
//内部参数: 在函数内部能看到标识符名称, 该标识符就是内部参数
print("有参数,有返回值的函数")
return num1 + num2
}
method4(num1: 1, num2: 2)
//外部参数: 在函数外部能看到标识符名称, 该标识符就是外部参数
1.外部参数不显示或者给外部参数替换名字
// 如果不希望显示外部参数, 可以在标识符前加上 _
func method4(_ num1 : Int, _ num2 : Int) -> Int {
return num1 + num2
}
method4( 1, 2)//两个外部参数都不显示
func method5(_ num1 : Int, num2 : Int) -> Int {
return num1 + num2
}
method5(1, num2: 2)//第一个外部参数不显示
func method6( num1 : Int, _ num2 : Int) -> Int {
return num1 + num2
}
method6(num1: 1, 2);//第二个外部参数不显示
func method7(name1 num1 : Int, _ num2 : Int) -> Int {
return num1 + num2
}
//给外部参数替换名字,只需要在标识符前加上新的变量名
method7(name1: 1, 2)////一个外部参数替换名字
func method8(name1 num1 : Int, name2 num2 : Int) -> Int {
return num1 + num2
}
method8(name1: 1, name2: 2)//两个外部参数替换名字
2.可变参数(函数参数个数不一定)
import UIKit
func sum(nums:Int...) -> Int {
var result = 0
for num in nums {
result += num
}
return result
}
sum(nums: 1,2,3,4)
sum(nums: 1,2,3)
sum(nums: 1,2,3,4,5,6,7)
func sum1(_ nums :String...) ->String {
var result = "0"
for num in nums {
result += num
}
return result
}
sum1("1","2","3","4")
sum1("a","b")
sum1("a")
3.默认参数(可以给参数设一个默认值)
import UIKit
func makeCoffee(_ coffeename :String = "雀巢"){
print("制作\(coffeename)")
}
makeCoffee()//调用时可以不传参数,参数为默认值
makeCoffee("牛奶")//传参数后,默认值不起作用
二、类
class 类名{
}
定义的类,可以没有父类.那么该类是rootClass
通常情况下,定义类时.继承自NSObject(非OC的NSObject)
class person{
//属性定义的同时,必须给其赋值
var age :Int = 0
var name :String = "" // 如果属性是值类型, 则初始化为空值
var view:UIView?// 如果属性是对象类型, 则初始化为nil值
}
// 注意:赋值不是调用set方法,直接拿到属性给属性赋值
let p = person()
p.age=122
p.name="qqq"
print(p.age)
print(p.name)
let view = UIView()
p.view = view
print(p.view!)
- 计算属性
计算属性: 不直接存储值,而是用get/set来做.可用来操作其他属性值的变化
get: 取, 用来封装取值的过程
set: 设, 用来封装设值的过程
class Student {
var mathScore : Double = 0.0
var chineseScore : Double = 0.0
var averageScore : Double {
return (chineseScore + mathScore) * 0.5
}
}
- 类属性
class Student : NSObject {
// 类属性
static var corseCount : Int = 0//类属性使用static来修饰
}
// 设置类属性的值
Student.corseCount = 3
// 取出类属性的值
print(Student.corseCount)
网友评论