《极客学院学习笔记》 Maverick_Cloud:一下实例是记录极客学院学习视频的o(∩_∩)o
-
- //有一个小细节:等号两边要有一个空格,如果连上了在Xcode里会报错
//-------------------------------------------------------------
//普通变量和常量定义
//-------------------------------------------------------------
var a = 11 //这样就设置变量了
var b = "hello word" //这样就声明变量了 ,不需要特定数据类型
var e = 21
let c = a + e // 常量
println(c)
//-------------------------------------------------------------
//指定数据类型定义
//-------------------------------------------------------------
var zifuchuan = "hello word"
var mingzi:String = ",nihao" // 指定数据类型为String
var name:String = "heihei" //特定字符串数据类型
var shuzi:Int = 100 //特定数值类型数据
println(zifuchuan)
//-------------------------------------------------------------
//字符串连接
//-------------------------------------------------------------
var str = "你好"
str = str + "Xcold" // 字符串相连
var bianliang = 12345
str = "\(str),name,\(100),\(bianliang)" // \() 这就是不同数据类型相连的方法
println(str)
//-------------------------------------------------------------
//数组定义
//-------------------------------------------------------------
var arg = [] //声明空的数组
var args = ["Hello","word",100,2.3] // 声明带数值的数组
var argtyps = String[]() // 指定数组数据类型
println(arg)
//-------------------------------------------------------------
//Map数据类型
//-------------------------------------------------------------
var map = ["name":"zhangsan","arg":"31"] //定义map
map["sex"] = "男" //动态给map添值
println(map) //输出map
println(map["name"]) //map取特定值
//-------------------------------------------------------------
//循环语句的使用
//-------------------------------------------------------------
var arg = String[]() //定义空数组
for int in 0..100{ //for循环
arg.append("zhi"\(int)) //给空数组赋值append连接
}
println(arg) //打印
for value in arg{ //遍历数组
println(value)
}
//-------------------------------------------------------------
var i = 0
while i < arg.count{ //while循环
println(arg[i])
i ++
}
var map = ["name":"zhangsan","arg":"16"]
for (key,value) in map{ //还可以遍历map里的值
println("\(key),\(value)")
}
//-------------------------------------------------------------
//swift语言流程和可选变量
//-------------------------------------------------------------
for int in 0..100{ //for循环
if int%2 == 0 { //求偶数
println(int)
}
}
//----------------
//可选变量
//----------------
var myName:String? = "zhangsan" //可选变量
//myName = nil //赋空值
if let name = myName{
println("hello ,\(name)")
}
//这里简单介绍一下可选变量:
//可选变量就是myName:String? :myName可以为String类型和空值(nil,注意不是null)
//而swift语言里默认是不允许有控制的。所以当 let name = myName的时候如果myName是空值的时候, let name = myName就会为false
//如果是其他任何String类型的值都会赋到常量里为true
//-------------------------------------------------------------
//Swift 语言函数 定义函数关键字 func
//-------------------------------------------------------------
func sayhello(name:String){ //定义带参数的函数
println("hello\(name)")
}
sayhello("zhangsan")
func getNums()->(int,int){ //定义带返回值的函数
return(2,3)
}
let (a,b) = getNums() //直接把函数当作变量用
println(a)
var func = sayhello //直接把函数当作变量用
fun("zhangsan")
*函数内部也能写函数*
//-------------------------------------------------------------
//面向对象编程
//-------------------------------------------------------------
class Hi{ //定义Hi类
func sayhi{ //定义Hi类里的函数
println("HI zhangsan")
}
}
var hi = Hi() //使用Hi类
hi.sayhi() //使用Hi类里的函数
//-----------
//继承类
//-----------
class Hello:Hi{ //Hello继承自Hi类
}
var h = Hello() //使用Hello类
h.sayHi() //使用Hello类里的函数
//-----------
//重写方法
//-----------
class Hello:Hi{ //Hello继承自Hi类
override func sayHi(){ //重写sayHi方法 关键字 override
println("hello lisi")
}
}
var h = Hello()
h.sayHi()
//-------------------------------------------------------------
//构造方法
//构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。
//对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。
//当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。
//----------
class Hello:Hi{
var _name:String
init(name:String ){ //构造方法关键字init初始一个值
self._name = NAME
//self指针关键字:self就相当于C++中的this指针也就是
//指向对象本身的指针 self.name = name
//就是当前对象的成员变量name赋值为name。
}
override func sayHi(){ //重写
println("hello\(self._name)")
}
}
var h = Hello(name:"wangwu")
h.sayHi()