初探Swift九 - 泛型与结构体
初探Swift,Swift结构体是一种数据类型,与C语言的结构体类型,成员可以是各种数据类型,甚至是函数。Swift泛型是广泛的类型,即函数的参数中一个变量声明为Int,它也可以接受String并处理。
一、结构体,声明与使用:
/**
* 结构体
*/
//声明一个结构体,结构体带有默认值
struct People {
var name = "小明"
var age = 0
func getKeyNumber()->Int{
return age
}
}
var xiaoming = People()
xiaoming.getKeyNumber()
var lane = People(name: "Lane", age: 24)
lane.getKeyNumber()
二、泛型:在一个函数中,比如在交换两个变量值的函数中,声明时定义了Int型,那如果我想交换两个String时,怎么办?
/**
* 泛型
* 比如在交换两个变量值的函数中,声明时定义了Int型,那如果我想交换两个String时,怎么办?
*/
func swapValue(inout a:Int, inout b:Int){
let temp = a
a = b
b = temp
}
//引入泛型
func newSwapValue<T>(inout a:T, inout b:T){
let temp = a
a = b
b = temp
}
//交换两个String
var a = "hello"
var b = "world"
a
b
newSwapValue(&a, &b)
a
b
//交换两个Int
var c = 1
var d = 2
c
d
newSwapValue(&c, &d)
c
d
/**
* 类中定义泛型
*/
class MyT<T>{
func getName(s:T)->Void{
println(s)
}
}
var myTObj = MyT<Int>()
myTObj.getName(123)
var myTObj2 = MyT<String>()
myTObj2.getName("Hello world")