swift 泛型与扩展

//: FROM  https://www.anuomob.com

import UIKit
struct Stack<Element> {
    var items = [Element]()
    mutating func push(_ item:Element){
        items.append(item)
    }
    
    mutating func pop() ->Element?{
        if(items.count > 0){
               return items.removeLast()
        }
        
       return nil
        
          }
}


var stackOfStrings = Stack<String>()
stackOfStrings.push("1234")

stackOfStrings.push("2234")
stackOfStrings.items
stackOfStrings.pop()
stackOfStrings.items
stackOfStrings.pop()
stackOfStrings.items
stackOfStrings.pop()
stackOfStrings.items

扩展

extension Stack{
    var topElement : Element? {
        return items.isEmpty ? nil : items[items.count-1]
    }
}
stackOfStrings.push("22341")
stackOfStrings.push("22342")
stackOfStrings.topElement

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/108302251