• 数组的使用(1)


    数组的使用(1)

    创建数组

    • 字面量创建
        可以使用数组字面量来初始化一个数组,它是一种以数组集合来写一个或者多个值的简写方式。数组字面量写做一系列的值,用逗号分隔,用方括号括起来。

        let array = [1,2,3,4]
      
    • 字面量创建空数组
         创建空数组的时候必须携带类型信息。

      let array:[Int] = [];
      let array2:[String] = [];
      
      let array3 = []; // 报错 
      

         如果内容已经提供了类型信息,你可以通过空数组字面量来从新赋值

      var array = [1,2,3,4]
      print(array)
      // 打印: [1,2,3,4]
      
      array = []
      print(array)
      // 打印:[]
      
    • 初始化器
         使用初始化器有两种方式

      • [ 类型 ]()
      • Array<类型>()
        var myArray = [Sting]();
        var myArray = Array<String>()
      
    • 初始化器参数

      • init(repeating repeatedValue: Element, count: Int)
      • init(arrayLiteral elements: Element)
      • init<S>(_ elements: S) where S: Sequence, Self.Element == s.Element
      • init(from decoder: Decoder) throws

    数组遍历和索引

    • 数组遍历

      • For-in
      • forEach方法
        • 无法使用break和continue 退出或者跳过循环
        • 使用return只能退出当前一次循环的执行体
      let numbers = [Int](0...7)
      for number in numbers {
        print(number)
      }
      // 打印: 0  1  2  3  4  5  6  7
      
      numbers.forEach {(num) in 
        if num == 3 {
          return
        }
        print(num)
      }
      // 打印: 0  1  2  4  5  6  7
      
      numbers.forEach {(num) in 
        if num == 3 {
          break
        }
        print(num)
      }
      // 报错
      
      • 同时得到索引和值 enumerated()

        let numbers = [Int](0...5)
        for (index, num) in numbers.enumerated() {
          print("index:(index), value:(num)")
        }
        
      • 使用Iterator遍历数组

        let numbers = [Int](2...7)
        var numIterator = numbers.makeIterator()
        while let num = numIterator.next() {
          print(num);
        }
        
        
    • 数组索引

      • startIndex : 返回第一个元素的位置, 对于数组来说, 永远都是0
      • endIndex : 返回最后一个元素索引 +1 的位置, 对于数组来说, 等同于count
      • indices : 获取数组的索引区间
      let numbers = [Int](0...5)
      print(numbers.startIndex)
      // 打印: 0
      print(numbers.endIndex)
      // 打印:6
      for i in numbers.indices {
        print(numbers[i])
      }
      // 打印 0  1  2  3  4  5  
      
  • 相关阅读:
    本地及远程二级缓存
    ubuntu下使用golang、qml与ubuntu sdk开发桌面应用
    TCP之心跳包实现思路
    Java读书笔记1
    回文字符串
    6.1 遍历字符串
    linux系统文件夹的作用 good
    在线程中建立Form遇到的问题
    QTabWidget and QTabBar.的文字的颜色设置,三种方法
    Ring3下Hook NtQueryDirectoryFile隐藏文件
  • 原文地址:https://www.cnblogs.com/MingLL/p/14072329.html
Copyright © 2020-2023  润新知