swift 3.0基本数据语法 swift 3.0

字符串的介绍

OC和Swift中字符串的区别

  • 在OC中字符串类型时NSString,在Swift中字符串类型是String
  • OC中字符串@"",Swift中字符串""

使用 String 的原因

  • String 是一个结构体,性能更高
  • NSString 是一个 OC 对象,性能略差
  • String 支持直接遍历
  • Swift 提供了 String 和 NSString 之间的无缝转换

字符串的使用

遍历字符串

// 字符串遍历
var str = "Hello, Swift"
for c in str.characters {
    print(c)
}

字符串拼接

//两个字符串的拼接
let str1 = "Hello"
let str2 = "World"
let str3 = str1 + str2
let str4 = str1.appending(str2)

//字符串和其他数据类型的拼接
let name = "syl"
let age = 18

let info = "my name is (name), age is (age)"

//字符串的格式化
比如时间:03:04
let min = 3
let second = 4

let time = String(format: "%02d:%02d", arguments: [min, second])
//字符串的截取

// Swift中提供了特殊的截取方式
// 该方式非常麻烦
let firstStr = "摩仑科技有限公司"
let subStr0 = firstStr.substring(to: "摩仑科技".endIndex)
let subStr1 = firstStr.substring(from: "摩仑科技".endIndex)
        
// Index创建较为麻烦
// 简单的方式是将String转成NSString来使用
// 在标识符后加:as NSString即可
let myStr = "http://www.cnblogs.com/ShaoYinling/"
var subStr = (myStr as NSString).substringFromIndex(4)
subStr = (myStr as NSString).substringToIndex(3)
subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 5))

数组的介绍

  • Swift中的数组
  • swift数组类型是Array,是一个泛型集合

数组的初始化

  • 数组分成:可变数组和不可变数组
    • 使用let修饰的数组是不可变数组
    • 使用var修饰的数组是可变数组

数组的初始化

// 定义一个可变数组,必须初始化才能使用
var array1 : [String] = [String]()

// 定义一个不可变数组
let array2 : [NSObject] = ["syl", "18"]

// 在声明一个Array类型的时候可以使用下列的语句之一
var stuArray1:Array<String>
var stuArray2: [String]

// 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的
// 定义时直接初始化
var array = ["syl", "man", "100"]

// 先定义,后初始化
var array : Array<String>
array = ["syl", "man", "100"]

对数组的基本操作

// 添加数据
array.append("HeNan")

// 删除元素
array.removeFirst()

// 修改元素
array[0] = "SYL"

// 取值
array[1]

数组的遍历

// 遍历数组
for i in 0..<array.count {
    print(array[i])
}

// forin方式
for item in array {
    print(item)
}

// 设置遍历的区间
for item in array[0..<2] {
    print(item)
}

// enum 遍历
for en in array2.enumerated() {
    print(en)
    // 下标
    print(en.offset)
    // 值
    print(en.element)
}
// 下标和数值同时 遍历
for (n,s) in array2.enumerated() {
     print(n , "==", s);
}

// 反序遍历
for s in array2.reversed() {
    print(s)
}
        
// 遍历下标和数值 反序
for (xxx,ooo) in array2.enumerated().reversed() {
    print(xxx ,"====" ,ooo)
}

数组的合并

// 数组合并
// 注意:只有相同类型的数组才能合并
var array = ["syl", "man","1.80"]
var array1 = ["100", "HeNan"]
var array2 = array + array1;

字符串的介绍

OC和Swift中字符串的区别

  • 在OC中字符串类型时NSString,在Swift中字符串类型是String
  • OC中字符串@"",Swift中字符串""

使用 String 的原因

  • String 是一个结构体,性能更高
  • NSString 是一个 OC 对象,性能略差
  • String 支持直接遍历
  • Swift 提供了 String 和 NSString 之间的无缝转换

字符串的使用

遍历字符串

// 字符串遍历
var str = "Hello, Swift"
for c in str.characters {
    print(c)
}

字符串拼接

//两个字符串的拼接
let str1 = "Hello"
let str2 = "World"
let str3 = str1 + str2
let str4 = str1.appending(str2)

//字符串和其他数据类型的拼接
let name = "syl"
let age = 18

let info = "my name is (name), age is (age)"

//字符串的格式化
比如时间:03:04
let min = 3
let second = 4

let time = String(format: "%02d:%02d", arguments: [min, second])
//字符串的截取

// Swift中提供了特殊的截取方式
// 该方式非常麻烦
let firstStr = "摩仑科技有限公司"
let subStr0 = firstStr.substring(to: "摩仑科技".endIndex)
let subStr1 = firstStr.substring(from: "摩仑科技".endIndex)
        
// Index创建较为麻烦
// 简单的方式是将String转成NSString来使用
// 在标识符后加:as NSString即可
let myStr = "http://www.cnblogs.com/ShaoYinling/"
var subStr = (myStr as NSString).substringFromIndex(4)
subStr = (myStr as NSString).substringToIndex(3)
subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 5))

数组的介绍

  • Swift中的数组
  • swift数组类型是Array,是一个泛型集合

数组的初始化

  • 数组分成:可变数组和不可变数组
    • 使用let修饰的数组是不可变数组
    • 使用var修饰的数组是可变数组

数组的初始化

// 定义一个可变数组,必须初始化才能使用
var array1 : [String] = [String]()

// 定义一个不可变数组
let array2 : [NSObject] = ["syl", "18"]

// 在声明一个Array类型的时候可以使用下列的语句之一
var stuArray1:Array<String>
var stuArray2: [String]

// 声明的数组需要进行初始化才能使用,数组类型往往是在声明的同时进行初始化的
// 定义时直接初始化
var array = ["syl", "man", "100"]

// 先定义,后初始化
var array : Array<String>
array = ["syl", "man", "100"]

对数组的基本操作

// 添加数据
array.append("HeNan")

// 删除元素
array.removeFirst()

// 修改元素
array[0] = "SYL"

// 取值
array[1]

数组的遍历

// 遍历数组
for i in 0..<array.count {
    print(array[i])
}

// forin方式
for item in array {
    print(item)
}

// 设置遍历的区间
for item in array[0..<2] {
    print(item)
}

// enum 遍历
for en in array2.enumerated() {
    print(en)
    // 下标
    print(en.offset)
    // 值
    print(en.element)
}
// 下标和数值同时 遍历
for (n,s) in array2.enumerated() {
     print(n , "==", s);
}

// 反序遍历
for s in array2.reversed() {
    print(s)
}
        
// 遍历下标和数值 反序
for (xxx,ooo) in array2.enumerated().reversed() {
    print(xxx ,"====" ,ooo)
}

数组的合并

// 数组合并
// 注意:只有相同类型的数组才能合并
var array = ["syl", "man","1.80"]
var array1 = ["100", "HeNan"]
var array2 = array + array1;