附:swift中文版学习文档:README - SwiftGG
//单行注释
/* 演示多行注释,多行注释可嵌套
/*
这是多行注释的写法
*/
*/
//1.单行无需加分号,加也可以
//2.多个语句放在一行,需要加分号
数据类型:第一个字符都需大写
//变量
/*
类型推导:编译器在编译的时候通过你提供的初始化的值自动推导出特定的表达式的值
*/
var myVariable = 42 //编译器自动推导其类型为Int
myVariable = 50 //变量多次赋值的时候需要保证值得类型是相同的
println(myVariable)
//常量
let myContant = 12
//myContant = 40 //错误,常量不能被2次修改
//显示声明类型, 语法:“变量:类型”
let double:Double = 40.0
let int:Int = 10
//swift不会自动给变量赋初始值,也就是要求在使用变量之前必须要对其先初始化
//var noValue //错误,必须先初始化
//命名规则:
var ∏ = 3.14 // option+p 输入∏
var 中国 = “学习iOS” //可中文输入
println(n) //print(n) 输出不换行
println(中国)
/*
整型可以写成:
一个十进制数,不带前缀
一个二进制,用前缀0b
一个八进制,用0o前缀
一个十六进制,以0x前缀
*/
let int1 = 17
let int2 = ob10001 //二进制表示
let int3 = 0o21 //八进制
let int4 = 0x11 //十六进制
let minVaule = UInt8.min
let maxVaule = UInt8.max
println(minVaule,maxVaule)
/*类型别名:
使用typealias关键字定义类型别名,类型typedep
*/
typealias NSInteger = Int //给Int取个别名叫NSInteger
var vaule: NSIntger = 45
vaule = 12
println(vaule)
//布尔类型
var tigerIsAnimal: Bool = ture
var animalIsTiger = false
//字符串
let label = "The width is" //定义字符串常量
let width = 56
var widthLabel = label + String(width) //swift不支持隐式类型转换,需要显示类型转换
widthLabel += "!"
println(widthLabel)
//字符串格式化, 使用\(item)
let apples = 3
let oranges = 5
let applessSummary = "I have \(apples) apples"
let fruitSummary = "I hace \(apples + oranges) pieces of fruit"
println(applesSummary)
println(fruitSummary)
let frame = CGRect(x: 0, y: 0, width: 400, height: 300)
class MyView:GLKView{ //编写类
override func drawRect(rect:CGRect){
glClearColor(0.0,0.0,0.1,1.0)
}
}
//数组的用法
let emptyArray1:Array = [] //声明一个空的数组
var emptyArray2 = [Int]() //声明一个空的数组,限定了值得类型为Int
var shoppingList = ["芒果", "橘子", "水", "葡萄", "香蕉"]; //声明一个5个字符串类型的数组
println(shoppingList.capacity)
//增加
shoppingList.append("苹果") //往数组里面加一个元素,方法1
println(shoppingList)
shoppingList.insert("苹果", atIndex: 2) //往数组里面加一个元素,方法2
println(shoppingList)
shoppingList += "柚子" //方法3
println(shoppingList)
shoppingList += ["西瓜", "木瓜"] //方法4
println(shoppingList)
//常用方法
println(shoppingList.count) //数组的个数 10
println(shoppingList.capacity) //数组的容量 16 值大于等于count,并且是2的次方
println(shoppingList.isEmpty) //判断数组是否为空,输出true/flase
//修改
shoppingList[1] = "哈密瓜" //修改第一个元素的值
println(shoppingList)
shoppingList[4...7] = ["Bananas", "Apples"] //把下标为4、5、6、7的元素替换成"Bananas", "Apples", 除了能替换值之外,还能改变数组的个数
println(shoppingList)
//删除
shoppingList.removeLast() //删除最后一个元素
println(shoppingList)
shoppingList.removeAtIndex(4) //根据指定位置删除元素
println(shoppingList)
shoppingList.removeAll() //删除所有的元素
println(shoppingList)
//数组的遍历1
for item in shoppingList {
println(item)
}
//数组遍历2
for (index, vaule) in enumerate(shoppingList) {
println("Item \(index + 1): \(value)")
}
/ / Demo2 (声明数组方式2)
var threeDoubles = [Double](count: 3, repeatedVaule: 0.0) //[0.0, 0.0, 0.0]
println(threeDoubles)
var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5) //[2.5, 2.5, 2.5]
println(threeDoubles)
var sixDoubles = threeDoubles + anthereeDoubles
println(sixDouble)