6.6 Swift嵌套函数
/**
嵌套函数
实际上呢,嵌套函数应该放在上一张来讲啦,这里我们放在闭包这里来讲 为了讲解在闭包中的捕获上下文的值 闭包捕获上下文的值,实际上就是嵌套函数 */
var array = [20,2,3,70,8]
bubbleSortFunc(array: &array)
print("----------------->") showArray(array: array)
func showArray(array: [Int]) -> Void { for x in array { print("(x)") } }
// 函数是全局的 func swapValue(a: inout Int,b: inout Int) { let t = a a = b b = t }
// 写个冒泡排序, 用闭包表达式作为回调 func bubbleSortFunc(array:inout [Int]) {
let cnt = array.count // 函数是局部的,作用域只在这个内部使用,仅仅为这个函数服务 func swapValue2(a: inout Int,b: inout Int) {
// 我们可以访问这个函数的局部变量,这个就是值捕获 print("数组的个数(cnt)")
let t = a a = b b = t }
for (i,value) in array.enumerated() { if i > 0 { for (j,value2) in array.enumerated() { // print("j=====(j)") // print("====(cnt - i)")
if j < cnt - i { if array[j] > array[j+1] { // 换成用函数 // swapValue(a: &array[j],b: &array[j+1]) swapValue2(a: &array[j],b: &array[j+1]) // let t = array[j] // array[j] = array[j+1] // array[j+1] = t } } } } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |