Swift一步步学习

Swift学习03(函数和类)

2017-07-03  本文已影响3人  coderhlt

一、 函数

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!)
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)
上一篇 下一篇

猜你喜欢

热点阅读