Swift学习--常量.变量.数据类型的使用(二)

时间:2021-11-30 03:39:11

一.Swift中的数组

//Swift中的数组
//NSArray *arr = @["",""]; //和OC数组的区别就是去掉前面的@
let arr11 = ["zhangsan", "lisi"]
print(arr11) // 遍历每一个元素
for a in arr11 {
print(a)
} // 像 OC 一样打印
print(arr11 as NSArray) // 数组中保存的都是字符串
let arr = ["zhangsan", "lisi"] // 数组中保存的是 NSObject
let arr1 = ["zhangsan", ]
// 定义只能保存字符串类型数组
var array: [String] // 初始化数组
array = ["zhangsan"] // 添加元素
array.append("lisi") print(array) // 删除元素
array.removeAtIndex()
print(array) // 删除所有元素
array.removeAll(keepCapacity: true)
print(array.capacity) // 注意数组容量的变化
for i in ..< {
array.append("\(i)")
print("\(array) --- \(array.capacity)")
} // 实例化新的数组
var array2 = [String]()
array2.append("")
array2.append("") // 拼接数组
array += array2 print(array)

二.Swift中的字典

//创建字典
//@{@"key":"value"};
//Swift中创建字典和创建数组一样,用[]
//[String : NSObject]类型是用以后做ios开发中最常见的一种格式
let dict = ["name":"张三","age":] //获取value
dict["name"] //遍历字典
for key in dict.keys
{
print(dict[key])
} //利用元组类型遍历字典,会自动将字典高中的key赋值给元组中的第一个变量,将value赋值给元组中的第二个变量
//注意:第一个是key,第二个value
for (kk , vv) in dict
{
print(kk)
print(vv)
} var dict2 = [String: AnyObject]()
//新增key/vale
//如果对应的key在字典中没有,那么就会新增
dict2 = ["name":"李四","age":]
dict2["sex"]="man"
dict2 // 设置相同 key,之前的数值会被覆盖
dict2["name"] = "钱六"
dict2 //删除
dict2.removeValueForKey("name")
dict2 //合并字典
var dict3 = ["score":]
for (key,value) in dict3
{
dict2[key] = value
}
dict2 var dict4 = ["address":"厦门市"]
for (key,value) in dict4
{
dict2.updateValue(value, forKey: key)
}
dict2

三.Swift中的字符串

//Swift中的字符串
//在OC中定义字符串用@"" Swift中""
//注意点:OC中的字符串是NSString Swift中的字符串是String
//OC 中的字符串是一个对象,继承于NSObject
//Swift中的字符串是一个结构体
//Swift中的字符串的性能比OC中的高
var str: String = "张三" //拼接
var str2 = "cool" str += str2 //格式化
let num8 =
let name = "wangwu"
//目标: name = wangwu , age = 30
//在Swift中可以使用\()来拼接其他值
var str3 = "name = \(name),age = \(num8)" //09:08:07
//注意:所有的值都必须放到数组中,哪怕只有一个值也需要放到数组中
var str4 = String(format: "%02d: %02d: %02d", arguments: [,,]) //截取
//注意:在Swi中,如果需要截取字符串,建议使用OC中的字符串来截取,因为Swift中String的字符串截取方法使用起来非常复杂
//Swift中的字符串可以和OC中的字符串非常方便的进行转换
var str5: NSString = "张三 哈哈哈"
var str6 = "张三 答复发" as NSString var subStr = str5.substringWithRange(NSMakeRange(, )) //在Swift中的字符串是支持直接遍历的
var str7 = "www:baidu.com"
for c in str7.characters
{
print(c)
}

四.Swift中的函数

//Swift中的函数
/*
Swift定义函数的格式:
语义:将前面计算的结构返回值 ->返回值
func 函数名称(参数列表)->返回值
{
执行代码
}
*/ //没有返回值的参数
//如果函数没有返回值,就写Void
//如果函数没有返回值还可以简写
//1.()替代Void
//2.可以省略->() ->Void
func say() -> Void
{
print("hello world")
}
say() func say2() -> ()
{
print("hello world")
}
say2() func say3()
{
print("hello")
} //有返回值没有参数
func getNumber() -> Int
{
return
}
print(getNumber()) //有参数没有返回值
//-(void)sum:(int)a b:(int)b
//Swift2.0中,会自动将形参中的第二个参数开始的参数名成为便签,以便于提高简读性
//Swift2.0以前,不会这样
func sum(a: Int, b: Int)
{
print(a + b)
}
sum(, b: ) //添加标签,添加外部参数
//x/y称之为外部参数, a/b称之为内部参数
func sum2(x a: Int,y b: Int)
{
print (a + b)
}
sum2(x: , y: ) //有参数有返回值
func sum4(a: Int , b: Int )->Int
{
return a+b
}
print(sum4(, b: ))