Swift梗概

1.变量常量的定义
  • 定义变量*
var age = 10
age  = 10
  • 定义常量
let gender = "男" //普通的常量
let 黑 = "Db" //文字也可以
let  = "猪" //只有你想不到没有他做不到
2.显示标注类型
var he1: Int = 13// 注意哦!!!冒号后面一定要加空格否则爆红哦
var he2: Float = 30.2 
var he3: Double = 172.2

到底可以定义多少类型呢Int,Double,Float,NSString,Character,Bool

let her1 = true 
let her2: NSString  = "g"
let her3: Character = "g"//不写Character 默认NSString,主意Character赋值是双引号
3.创建数组可有多种方式
var array2 = ["12","234","67"]
var array3 = ["abc",23,35.2]
var array4: Array<Int> = [23] 自定数组里面的类型为Int
var array5: [String] = ["hello", "world"]
var array6: Array = [23]
var array7 = Array<Int>()```
*对数组的操作增删改查*

  > * 增 

array1.append(78)
array1.insert(1000, atIndex: 1)
array1 += [23,56]
print(array1)

  > * 删

array1.removeAtIndex(0)
array1.removeAll()

> * 查

print(array1[2])


#####4、创建字典的多种方式
>```var dict = [
   "key1" : "value1",
   "key2": 68,
    fause : "value3"
]
var dict2: Dictionary <Int,Int> = [
   23 : 567,
   56: 78
]
var dict3: Dictionary = [12.34 : 45.67]
var dict4 = [Int : Int]()
var dict5 = Dictionary<String , String>()```
> * 增加/修改'

dict5["key1"] = "value1"
dict5["key2"] = "value2"
dict5.updateValue("value3 ", forKey: "key1")
print(dict5)

> * 删除

dict5.removeValueForKey("Key1")
print(dict5)

> * 查找

print(dict5["key2"])
//如果想要获取字典里面所有的keys和Values,需要通过Array进行强转
let allKeys = Array(dict5.keys)
print(allKeys)
let allValues = Array(dict5.values)
print(allValues)


#####5、元组

var result = (404 , "Not Found")
result.1 = "Not Found"
var yanhau = (num : 1001 , name : "yanhau " , age: 101 , height: 168.0 weight : 118 ,des : "我怕谁")
yanhau.age = 67
print(yuanhau)
var (num1,name1,age1,height1,weight1,des1) = yanhua
print(num1,yanhau.num,age1,height1)
//print中嵌套变量的使用"(变量名)"
porit("num : (num1) name : (name1) ")

#####6、循环

 ######(1) 分支语句

var score = 78
if score > 78
{
print("秀秀")
}
else if score > 60
{
print("过了")
}
else
{
print("不及格")
}
/*
主意点:
1.必须有分支满足情况
2.分支中一定有操作
3.不需要Break 若想贯穿,手动添加关键字fallthrough
4.switch可以进行范围判断
*/

######(2)switch语句

//(1)
switch score
{
case 90:
print("")
fallthrough//贯穿
case 100:
print("")
default:
print("")
}

//(2)
switch score
{
case 0..<60 //0到60
print("")
default:
print("")
}

//(3)switch score
{
case 0...60:
score += 20
print(score)
case var s where s< 80 && s > 70: //判断
s += 20
print("")
default:
print("")
}

//4
let point = (13,45)
switch point
{
case(13,)://''代表忽略
print("")
fallthrough// 贯穿
default:
print("")
}

#####7、循环语句

repeat
{
print("执行一次")
}while false

while false
{
print("ss")
}

for var i = 1; i<=10; i++
{
print(i)
}

//最常用
for abc in 0..<10
{
print(abc)
}

//数组
let names = ["shaung " , "shaung2","2shaung" , "shua2ng"]
for name in names
{
}

//字典
let names2 = [
"ju" : "de"
"shuang" : "shuang"
]

for(_,value) in names{
print("key : value: (value)")
}

#####8、函数

> * 无参数无返回值

func text1 () {
print(2)
}
text1()
func text2() -> Void{
}

> * 无参数,有返回值

func text3() -> String{
return "string"
}
var str = text3()
print(str)

> * 有参数,无返回值

func test4(a: Int ,b: loat){
print(a , b)
}

> * 有参数,有返回值

func text5(name : String , gender: Character) -> String {
return "name : "+ name1 + "gender: " + String(gender)
}
var str1 = text5("ss" , gender: "$")
print(str1)

> * 有参数,多个返回值

func test6(x: Int, y:Int) -> (Int, Int){
return (x+y , x- y)
}
var resultMax = test6(3 , y: 3)
print(resultMaX.0 , resultMax.1)
let (he , cha) = test6(3, y: 3)

> * 外部参数名、内部参数名称

func test7(buShuang suanShuang: String)
{
print(Suanshuang)
}
func test8(a: Int , _ b: Int)// 函数的第一个参数变量是默认省略的,_ 可以省略函数参数
{
}
test8(19,68)

> * inout参数

func test9(inout a: Int)
{
a = 100
}
var yanhuaDage = 10
test9(&yanhuaDage)
print(yanhauDage)

> * 函数的嵌套使用

func test2(){
func test3(){
func test11(){
}
}
}


#####9、枚举

func enum
enum Season : Int
{
case Spring // 0
case Summer = 1
case Autumn
case Winter
}

var s1 = Season.Spring
s1 = .Summer
print(s1)
print(s1.rawValue)

>* 注意:
*使用原始值创建对象时注意:!(optional)修饰的变量必须是有值的否则会崩*
*?(optional)修饰的变量可以为nil 输出时为 optional (...)*

var s2 = Season(rawValue: 3)
print(s2! )

> * 与Switch配合

switch s2!
{
case .Spring:
print("")
case .Summer:
print("")
case .Autumn
print("")
case .Winter
print("")
}


#####10、结构体

struct Person
{
//声明属性
var name: String
var age: Int

//声明结构体属性
static var des : String?

//声明方法

func sayHi()
{
print("name : (name) age: (age)")
}

//声明结构体方法
static func sayHello()
{
print("你好,我是好人,(self.des)")//在结构体中在结构体方法只能调用结构体中的结构体属性,而不能调用结构体中的属性

}

}


* 创建结构体对象

var p1 = Person(name : "dahuazi" , age: 38 )
p1.age = 49

print(p1.age)
p1.sayHi()
Person.des = "aaa"
Person.sayHello()

struct Student{

var name: String?
var gender: String?
var age: Int?
var hobby:String?
//构造函数
init(name: String, age: Int)
{
self.name = name
}

init(name: String ,gender: String, age: Int, hobby: String)
{
self.name = name
self.gender = gender
self.age = age
self.hobby = hobby
}
init()
{
}

}
var ss = Student(name:"sss", age 1)
print(ss)
let ssl = Student()
print(ssl)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容