再探Swift基础

基础


tuples


// Tuples
var address = (number: 142,street: "Evergreen Terrace") //起名
print(address.number)
print(address.street)
address.0 = 167
print(address.0) //顺序
print(address.1)

let (house,street) = address //赋值
print(house)
print(street)






strings



// Strings
var hello = "Hello"
hello = hello + " World"
print(hello)
// String interpolation
print("I live at \(house),\(street)") //替换字符串的内容
let str = "I live at \(house + 10),\(street.uppercaseString)";print(str) //一行多句使用分号






numeric


// Numeric types and conversion
var thousands = 1_000 //千元的分隔符(1,000)
var radius = 4
let pi = 3.14159
var area = Double(radius) * Double(radius) * pi  //类型转换问题







for循环


// For loops and ranges
let greeting = "Swift by Tutorials Rocks!"
var range = 1...5                           //range是一种类型
for i in range {
  print("\(i) - \(greeting)")
}







while循环



// While loops
var i = 0
while i < 5 {
  print("\(i) - \(greeting)")
  i++
}





if条件


// If statements
for i in 1...5 {
  if i == 5 {
    print(greeting.uppercaseString)
  } else {
    print(greeting)
  }
}








switch


var direction = "up"

switch direction {   //类型问题
case "down":
  print("Going Down!")
case "up":
  print("Going Up!")
default:
  print("Going Nowhere")
}

var score = 570

var prefix: String
switch score {
case 1..<10:         //类型问题
  print("novice")
case 10..<100:
  print("proficient")
case 100..<1000:
  print("rock-star")
default:
  print("awesome")
}






optional


var str: String! 
println(str)

if let unwrappedStr = str {   //解包的方式 
  println("Unwrapped! \(unwrappedStr.uppercaseString)")
} else {
  println("Was nil")
}

if str != nil {     //解包前的防御式
  str = str.lowercaseString
  println(str)
}

var maybeString: String? = "Hello Swift by Tutorials!"
let uppercase = maybeString?.uppercaseString 








array


var array: [Int] = [1,2,3,4,5]
println(array[2])
array.append(6)
array.extend(7...10)
println(array)

// Challenge solution:
array.removeAtIndex(8)
array.removeAtIndex(6)
array.removeAtIndex(4)
array.removeAtIndex(2)
array.removeAtIndex(0)
println(array)

// Challenge solution:  添加任意类型元素的数组
var anyArray: [AnyObject] = []
anyArray.append(1)
anyArray.append("1")
println(anyArray)






dictionary


var dictionary: [Int:String] = [1: "Dog",2: "Cat"]
println(dictionary[1])
dictionary[3] = "Mouse"
dictionary[3] = nil   //相当于删除3
println(dictionary)

// Challenge solution:
dictionary.updateValue("Elephant",forKey: 2) //更改
println(dictionary)

println(dictionary[1])

if let value = dictionary[1] {   //从字典取出的为optional类型 拆包
  println("Value is \(value)")
}



set


var setA: Set = [1,3]

setA.insert(1)
println(setA)

setA.remove(1)
println(setA)

var setB: Set = [2,6]
println(setA.intersect(setB))  //交集

// Challenge solution:
let divisibleBy3: Set = [3,6,9]
let divisibleBy2: Set = [2,8]
let union = divisibleBy2.union(divisibleBy3) //并集


相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...