Swift函数

//.函数


//函数的基本结构


//func 函数名(参数列表) ->返回值类型


//1.有参数,单返回值

func sayHi(str : String) ->String {

    

    return str + "stwrt"

    

}

//调用

var ss = sayHi("eangyu")


//2.有参数,多返回值

//->()返回值是元组

//前面的括号是参数列表

func sayHello(name : String , age : Int , gender : String) ->(name : String , age : Int , gender : String) {

    

    return (name , age , gender)

    

}

var (wangname , wangage , wanggebder) = sayHello("wangyu", age: 12, gender: "namn")


wangage

wanggebder

wangname




//3.有参数,无返回值


func sayHI(age : Int) {

    

    print(age)

    

}

sayHI(520)



//4.无参数,无返回值


func say() {

    

  print(3000)

    

}


say()


// 其他类型转字符串


//1. 插入语法 "\()"


var n = 211


"\(n)afafag"


//2.String()


String(n) + ".jpg"


//3.闭包


//    {(参数列表) ->返回值类型 in 代码段}

//

//let block = {(name : String) ->String in String ->String

//

//

//

//}


// ,


class Person {

    //属性

    //1.可以直接赋值

    //2.可以确定是否可以为空

    

    var name : String?

    var age : Int! = 100

    init(name : String , age : Int) {

        

        self.name = name

        self.age = age

        

    }

    

    func sayHi() {

        

        print(self.name)

        print(self.age)

        

    }

    deinit {

        

        //析构器 - dealloc 释放资源

        

        

    }

    

}


//创建对象


var zhao = Person(name: "name", age: 12)


zhao.sayHi()


//结构体



struct Car {

    

    var name : String?

    var number : Int?

    

    init(name : String , number : Int) {

        self.name = name

        self.number = number

    }

}


//结构体和类的区别:

//相同点; 1.都有属性和方法,swift的结构体区别于c的结构体

//2.都有构造器


//不同;结构体不能被继承 类可以


//子类;


class Student: Person {

    

    var name1 : String?

    var age1 : Int?

    

    //重写父类的初始化方法

    

   override init(name: String, age: Int) {

    

    super.init(name: name, age: age)

    

    sayHi()

    

    }

    

    class func stuname(name : String) {

        

        print(name)

        

    }

 }


Student.stuname("agag")



//协议 protocol 协议名 {协议方法}


protocol myprotocol {

    

    func mackMoney() ->NSString

    

    

}



class Cat: Person, myprotocol {

    

    func mackMoney() -> NSString {

        

        return "$10000000"

        

    }

 }


var cat = Cat(name: "mao", age: 2)


cat.mackMoney()



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值