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

一.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", 1]
// 定义只能保存字符串类型数组
var array: [String]

// 初始化数组
array = ["zhangsan"]

// 添加元素
array.append("lisi")

print(array)

// 删除元素
array.removeAtIndex(1)
print(array)

// 删除所有元素
array.removeAll(keepCapacity: true)
print(array.capacity)

// 注意数组容量的变化
for i in 0..<10 {
    array.append("\(i)")
    print("\(array) --- \(array.capacity)")
}

// 实例化新的数组
var array2 = [String]()
array2.append("1")
array2.append("2")

// 拼接数组
array += array2

print(array)

二.Swift中的字典

//创建字典
//@{@"key":"value"};
//Swift中创建字典和创建数组一样,用[]
//[String : NSObject]类型是用以后做ios开发中最常见的一种格式
let dict  = ["name":"张三","age":30]

//获取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":20]
dict2["sex"]="man"
dict2

// 设置相同 key,之前的数值会被覆盖
dict2["name"] = "钱六"
dict2

//删除
dict2.removeValueForKey("name")
dict2

//合并字典
var dict3 = ["score":100]
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 = 30
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: [9,8,7])

//截取
//注意:在Swi中,如果需要截取字符串,建议使用OC中的字符串来截取,因为Swift中String的字符串截取方法使用起来非常复杂
//Swift中的字符串可以和OC中的字符串非常方便的进行转换
var str5: NSString = "张三 哈哈哈"
var str6 = "张三 答复发" as NSString

var subStr = str5.substringWithRange(NSMakeRange(1, 3))

//在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 999
}
print(getNumber())

//有参数没有返回值
//-(void)sum:(int)a b:(int)b
//Swift2.0中,会自动将形参中的第二个参数开始的参数名成为便签,以便于提高简读性
//Swift2.0以前,不会这样
func sum(a: Int, b: Int)
{
    print(a + b)
}
sum(10, b: 20)

//添加标签,添加外部参数
//x/y称之为外部参数, a/b称之为内部参数
func sum2(x a: Int,y b: Int)
{
    print (a + b)
}
sum2(x: 10, y: 20)

//有参数有返回值
func sum4(a: Int , b: Int )->Int
{
    return a+b
}
print(sum4(10, b: 20))
时间: 2024-10-12 11:55:10

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

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

一.Swift中的常量和变量 /* Swift 中定义常量和变量用let/var let 代表定义一个常量 var 代表定义一个变量 Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们后面数据的真实类型自动推导 Swift开发技巧:在做Swift开发中,我们需要经常使用option + click键来查看方法或变量 **/ //常量 let num = 10.1 //num = 9.0 //常量不能修改 //变量 //注意点: Swift开发中每一条语句后面可以不写分号,但是写上

Swift(上) 常量, 变量, 数据类型, 循环, 选择结构 简单函数

本篇内容是在XCode的Playground下编写的 那么什么是Playground呢? 提到Playground我们就不得不提Swift这个最近苹果公司力推的语言, Swift是苹果公司在WWDC2014上发布的全新开发语言.从演示视频及随后在appstore上线的标准文档看来,语法内容混合了OC,JS,Python,语法简单,使用方便,并可与OC混合使用. Xcode 6 对 Swift 有着全面深入的支持.你可以利用 100% Swift 代码创建全新的 app,或者将新的 Swift 代

Swift学习------常量与变量

常量与变量 * let 常量: 常量的值一旦设定就不能改变 * var 变量: 变量的值可以随意更改 * 常量&变量的使用原则: * 为保证数据的安全性尽量先用 let,只有需要改变的时候才使用 var 常量定义格式 * 声明符号 常量名称: 类型标注 * let number: Int * 特点: 一旦设定就不能改变 let number: Int = 10 定义变量格式 * 声明符号 变量名称: 类型标注 var number: Int * 特点: 变量的值可以随意更改 * 注意: 一般来说

swift学习笔记之数据类型

前言:这份学习笔记是写给有编程经验的人看的,因为内容方面很多基础知识被省略掉了,所以请初学者们勿怪我写得不详尽. swift包括如下数据类型: 1.整型 Int var age:Int = 20 let age:Int = 20 [注]在此说一下swift较Objective-C的改变. 1)以前定义一个变量如整型的,我们会想下面这样写 NSInteger age = 20; 现在定义变量得用var关键字,然后在变量名称后面使用冒号加变量类型的方式,或者声明类型,如下: var age = 20

Swift学习笔记--变量与常量

1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常量或者变量的值,即“类型推断”:反之,声明变量或常量时既没有指定其类型又未设置初值则不被允许: 4.Swift语言允许在每一行结尾处省略“;”分号: 5.类型字面量:二进制数值前缀是0b,八进制数值前缀是0o,十六进制前缀是0x; 6.Swift语言完全支持Unicode字符:

Swift学习第八枪--协议(二)

协议(二) 这篇紧接着前面的协议(一)继续总结. 1.委托(代理)模式 委托是一种设计模式,它允许 类 或 结构体 将一些需要它们负责的功能 交由(委托) 给其他的类型的实例.委托模式的实现很简单: 定义协议来封装那些需要被委托的函数和方法, 使其 遵循者 拥有这些被委托的 函数和方 法 .委托模式可以用来响应特定的动作或接收外部数据源提供的数据,而无需要知道外部数据源的类型信息. 下面的例子是两个基于骰子游戏的协议: protocol DiceGame { var dice: Dice { g

Swift学习笔记_数据类型_浮点类型

浮点类型 是有小数部分的数字.表示的范围比整数类型更大,可存储比Int类型更大或更小的数字. 提供了3种表示形式: (1)Float 表示32位浮点数,可精确到小数点后6位. (2)Double 表示64位浮点数,可精确到小数点后15位. (3)Float80 表示80位浮点数,可精确到小数点后17位. ※Float32和Float64分别是Float和Double的类型别名 var floatv:Float = 0.12345678912345  //0.1234568 var floatv2

Swift学习笔记_数据类型_整数类型

1 整数类型 整数就是没有小数部分的数字. 整数类型分为两种: (1)有符号整数类型:表示负整数.零.和正整数 (2)无符号整数类型:表示零.和正整数 有符号整数类型有5种表示方式: (1)Int8:在内存中占8位,表示的范围是:-128-127 (2)Int16:在内存中占16位,表示的范围是:-32768-32767 (3)Int32:在内存中占32位,表示的范围是:-2147483648-2147483647 (4)Int64:在内存中占64位,表示的范围是:-92233720368547

[Swift]学习笔记----变量不会被默认初始化

顶一个变量,如果不进行初始化,是不能实用的,Swift 会报错. 目测 对象也是必须要new 才可以使用. 这又是我很赞同苹果的一个做法. Swift真不错! 而如果把变量申明为可选值,则该变量默认就会是一个 nil 值 (既空值) 语法是 var i:Int?; (吐槽以下博客园:居然不能再博客页面直接编辑博文,必须进入后台管理才可以编辑,真心弱爆了啊!看来博客园也不是写博客的长久之计!)