import UIKit
var str = "Hello, playground"
let string = "hello,world"
//使用 println 函数来输出
println("hello, world")
/********************简单值***********************/
//使用let来声明常量,使用var来声明变量
var myVariable =42
myVariable =50
let myConstant =42
//cannot assign 'let' value 'myConstant'(不能给常量值再赋值)
//myConstant = 60
//如果初始值没有提供足够的信息,那么需要在变量后面声明类型,用冒号分割
let implicitInteger =70
let implicitDouble =70.0
let explicitDouble:Double =70
let explicitFloat:Float=4
//值永远不会被隐式转换为其他类型,如果需要把一个值转换为其他类型,请显式转换
let label = "the width is " //字符串类型
let width =94 //整型
let widthLabel = label + String(width)
//把值转换成字符串的方法:把值写到括号中,并在括号前写一个反斜杠
let apples =3
let oranges =5
//let appleSum = "I have \(apples) apples"
let appleSum ="I have " + String(apples) +" apples"
let fruitSum ="I have\(apples + oranges) pieces of fruit"
let float1:Float =2
let float2:Float =4.0
let myFloat ="I am pengzhihao\(float1 + float2) "
//使用方括号[]来创建数组和字典,并使用下标或键(key)来访问元素
//数组
var shoppingList = ["catfish","water","tulips","blue paint"]
shoppingList[3] ="bottle of water"
shoppingList
//字典
var occupations = [
"pengzhihao" : "25",
"lihong" : "26",
]
occupations
occupations["pengzhihao"]
occupations["zhangsan"] ="27"
println(occupations)
let emptyArrar = []
let emptyDictionary = Dictionary <String,Float>()
/********************控制流***********************/
//控制流 if 语句中,条件必须是一个布尔表达式,像if score{...},这样的代码是错误的
let individualScores = [75,43,103, 87, 12]
var teamScore =0
for scorein individualScores{
if score >50{
teamScore +=3
}else{
teamScore +=1
}
}
teamScore
if (3>2){
println("ok")
}
//变量的值可选
var optionalString:String? ="hello"
optionalString ==nil
var optionalName:String? ="pengzhihao"
var greeting ="hello"
iflet name = optionalName{
greeting ="hello,\(name)"
}else{
println("原来如此")
}
greeting
//使用 switch
//如果没有default 分句,将会报错"switch必须全面彻底,增加default分支"
let vegetable ="red pepper"
var vegetableComment ="test"
switch vegetable{
case "celery":
vegetableComment = "Add some taisins and make ants on a log."
case "cucumber","watercress":
vegetableComment = "Tant would make a good tea sandwich."
caselet xwhere x.hasSuffix("pepper"):
vegetableComment ="Is it a spicy\(x)?"
default:
vegetableComment = "Everything tastes good in soup."
}
vegetableComment
//使用 forin 来遍历字典
let interestingNumbers = [
"Prime" : [2,3,5, 7, 11, 13],
"Fibonacci" : [1,1,2, 3, 5, 8],
]
var largest =0
for (kind,numbers)in interestingNumbers{
for numberin numbers{
if number > largest{
largest = number
}
}
}
largest
//使用 while 循环
var n =2
while n <100{
n = n *2
}
n
var m =2
do {
m = m *2
}while m <100
m
//使用传统的方法
var firstForLoop =0
forvar i =0; i <3 ;i++ {
firstForLoop += i
}
firstForLoop
//使用现代的方法
var sum =0
for iin0...3 {
sum += i}
sum