Swift基础学习<二十二>:泛型-泛型方法

深渊向深渊呼唤

泛型方法: 方法中的泛型使用节点表示法,作用域只在本方法内,修改上面的示例:

struct TestStruct {
	func elementMethod1<T :Comparable>  (element:T) {
		print(“elementFromMethod1:\(element)”)
	}
	func elementMethod2<T:Comparable> (element: T) {
		print(“elementFromMethod2:\(element)”)
	}
}

let test = TestStruct()
test.elementMethod1(1)
test.elementMethod1(“abc”)

这样同一个实例的相同方法就可以接受不同的参数类型了,上例中的打印结果: elementFromMethod1: 1 elementFromMethod1: abc. 可见从泛型协议到泛型对象再到泛型方法,泛型的作用域是越来越小的,如何应用泛型取决于实际的业务需求。 根本没看懂 ….后面补充吧

栏目