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", ]
// 定义只能保存字符串类型数组
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: ))
Swift学习--常量.变量.数据类型的使用(二)的更多相关文章
- Swift学习--常量.变量.数据类型的使用(一)
一.Swift中的常量和变量 /* Swift 中定义常量和变量用let/var let 代表定义一个常量 var 代表定义一个变量 Swift 中代表定义常量和变量不需要写数据类型,编译器辉根据我们 ...
- Swift学习笔记--变量与常量
1.Swift是一门强类型语言,不能为变量赋予其自身数据类型之外的值: 2.声明变量使用var关键字,声明常量使用let关键字: 3.声明变量或常量时没有对其指定类型且赋予了初值,则编译器会自动推断常 ...
- Swift学习笔记 - 变量和常量
1. Mutability Objective-C offers several classes in both “regular” and mutable versions, such as NSS ...
- python常量 变量 数据类型 注释 交互 if语句
1.认识python python的创始人吉多·范罗苏姆(Guido van Rossum )龟叔在89年圣诞节开始开发python python属于解释型语言,强类型定义语言. 编译型/解释型:编译 ...
- Swift学习笔记(二)——常量与变量
这篇博客将会学习到Swift中的常量Constants和变量Variable.这是学习语言的基础.当中能够看到Swift每句后面基本都是没有:分号的,假设有加:分号的习惯,也能够加上. (1)常量声明 ...
- Swift学习(四)常量&变量&基础数据类型
常量和变量 常量: 使用let关键词来声明一个常量 所指向的是一个特定类型的值,如数字10或者字符”hello”,常量的值是不能够被二次修改的 编程时使用常量能够让代码看起来更加安全和简洁! let ...
- swift学习第一天---常量变量基础数据类型
import Foundation /** * 1.常量 变量 知识要点:常量的定义用let 变量的定义用var 常量一旦定义便不可再更改. 变量定义之后可以在定义之后的程序中任意地方进行修改. */ ...
- Swift入门学习之一常量,变量和声明
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请表明出处:http://www.cnblogs.com/cavalier-/p/6059421.html Swift入门学习之一常量,变量和 ...
- Swift学习——变量var和let常量的用法(一)
Swift中的变量var和let常量 首先介绍一下Swift中的 var 和 let (1)var 是 variable的缩写形式,是变量的意思 ,是可改变的.并非数据类型 比如: 注意每一个语句后面 ...
随机推荐
- DDD:聊天笔记
聚合跟和实体 聚合根是实体. 实体有生命周期,使用标识进行跟踪. 聚合根是全局标识,由仓储或其它服务负责其生命周期. 实体是局部标识,由聚合根负责其生命周期. 为什么能应对复杂度? 纵向.横向.时间维 ...
- [New Portal]Windows Azure Virtual Machine (10) 自定义Windows Azure Virtual Machine模板
<Windows Azure Platform 系列文章目录> 通过之前的文章,我相信大家对微软Windows Azure Virtual Machine有一定的了解了. 虽然微软提供了非 ...
- SQL Server中的事务日志管理(3/9):事务日志,备份与恢复
当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...
- Android的Activity生命周期
Android的Activity就相当于Windows Form中的Form,它的创建和销毁也是有一个生命周期的.主要经过这么7个阶段: 创建Activity:onCreate() 启动Activ ...
- Sprint第三个冲刺(第五天)
一.Sprint介绍 实验截图: 任务进度: 二.Sprint周期 看板: 燃尽图:
- R语言简单聚类分析
#以R基础包自带的鸢尾花(Iris)数据进行聚类分析iris data <- iris[,:] #系统聚类法(层次聚类法) distance <- dist(data) #计算距离 iri ...
- C#版本的历史
+ 展开目录 - 版本号的一些命名规则 - 语言,运行时,类库,开发工具的区 - 2002年 C#1.0发布 - 2005年 C#2.0发布 - 2007年 C#3.0发布 - 2010年 C#4.0 ...
- C#设计模式——代理模式(Proxy Pattern)
一.概述在软件开发中,有些对象由于创建成本高.访问时需要与其它进程交互等原因,直接访问会造成系统速度慢.复杂度增大等问题.这时可以使用代理模式,给系统增加一层间接层,通过间接层访问对象,从而达到隐藏系 ...
- 小白学Linux(五)--VI/VIM编辑器
我们操作文件,终究离不开编辑文件,对文件内容的编辑,Linux系统下,我们通常使用VI/VIM来编辑文件.VI是每个Linux都会自带的文本编辑器,VIM是VI的增强版,可能有些发行版本没有自带,可以 ...
- 内核移植和文件系统制作(4):UBIFS根文件系统制作总结
UBIFS文件系统简介: 无排序区块图像文件系统(UnsortedBlock Image File System, UBIFS)是用于固态硬盘存储设备上,并与LogFS相互竞争,作为JFFS2的后继文 ...