美文网首页
swift 面试题(不断更新)

swift 面试题(不断更新)

作者: Neal_f | 来源:发表于2018-08-12 16:45 被阅读0次
  1. 给一个数组,要求写一个函数,交换数组中的两个元素
 func swap<T>(to array: inout [T], swap sIndex: Int, for dIndex: Int) -> Bool {

        guard !array.isEmpty else {
            debugPrint(" source array is empty ! ")
            return false
        }

        guard array.count - 1 >= sIndex && sIndex >= 0 ,array.count - 1 >= dIndex && dIndex >= 0 else {
            debugPrint("index out of bounds!")
            return false
        }

        (array[sIndex], array[dIndex]) = (array[dIndex], array[sIndex])
        return true
    }

使用

        var array = ["1","2","3"]
        debugPrint(swap(to: &array, swap: 2, for: 1))

注意:
swift 泛型,Tuple,以及对异常处理的思考。

  1. 实现一个函数,输入是任一整数,输出要返回输入的整数 + 2
enum OperationMode {

    case add
    case reduce
    case multiply
    case divide
}

func operation(_ a: Int, _ b: Int, _ mode: OperationMode) -> Int {

    switch mode {
    case .add:
        return a + b
    case .reduce:
        return a - b
    case .multiply:
        return a * b
    case .divide:
        return a / b
    }
}

func addTwo(_ a: Int) -> Int {
    return operation(a, 2, .add)
}

debugPrint(addTwo(2))

相关文章

网友评论

      本文标题:swift 面试题(不断更新)

      本文链接:https://www.haomeiwen.com/subject/oqwsbftx.html