您的位置:首页 > 移动开发 > Swift

Swift函数

2015-11-13 14:47 393 查看
//四.函数

//函数的基本结构

//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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: