swift系统学习第一章
第一节:变量,常量,类型推断,字符,字符串
//swift学习第一节
/*
变量
常量
类型推断
字符
字符串
*/ import UIKit //变量
var str = "swift" //类型推断
str = "hello"
var str1:NSString = "shaoting"
var num =
var num2:Int = //常量
let num3 = //类型推断
//num3 = 123 error:常量不可以修改
let str2:NSString = "pheromone" //Int 有符号的整形
//UInt 无符号的整形 Int.max
Int.min var numFloat : Float = /
var numDouble : Double = / var num4 =
num4.dynamicType //类型
var num5 = 0.14
num5.dynamicType num5 = + 0.14
num5.dynamicType
//num5 = num4 + num5 eroor:类型不同不能相加
num5 = Double(num4) + num5 //初始化字符串,默认值为nil
let strr = ""
let strrr = String() let swift:Character = "S"
let swiftInChar:[Character] = ["s","w","i","f","t"];
let swift1 = String(swiftInChar)
let swift11 = swiftInChar var message = "i love you"
let meessageLength = message.characters.count //message[0] error:swift中,访问字符串中的某个字符不能使用字符串数组的某个下标
message.startIndex // 第一个下标
message.endIndex //最后一个下标
message[message.startIndex.successor()] //第一个下标的下一个值
message[message.endIndex.predecessor()] //最后一个下标的上一个值
message[message.startIndex.advancedBy()] message.insertContentsOf("iOS".characters, at: message.startIndex)//在某个字符串的某个位置加入某些字符
message.removeAtIndex(message.endIndex.predecessor())
//message.removeRange(<#T##subRange: Range<Index>##Range<Index>#>) 删除范围内的内容 //比较字符串
let message1 = "ios hello"
if message != message1{
print("!=")
} let swi = "我是一只猿"
swi.hasPrefix("我")//判断前端是否包含
swi.hasSuffix("猿")//判断后端是否包含 for code in swi.utf8 {
print("\(code)")
} //数组
var strS:[String] = ["ios","swift"];
//var strS1:[] = [12,34]; 没有指定元素类型
第二节:元组Tuple 操作符operators
/*
swift学习第二节
元组 Tuple
操作符 Operators */ import UIKit //元组 :自己定义一组数据,类型也自己定义
let success = (,"HTTP OK")
let fileNotFound = (,"File not found")
let me = (name:"shaoting",no:,email:"510738319@qq.com")
success.
success.
me.name var (code,message) = success
print(code)
print(message) //操作符 Operators
var a =
var b = let sum = a + b
let sub = a - b
let mul = a * b
let div = a / b
let mod = a % b
let mod1 = % b += // b = b+10
b -= // b = b-10
b *= // b = b*10
b /= // b = b/10
b %= // b = b%10 let isEqual = sum ==
isEqual ? "YES" : "NO" //区间运算符
//包含1到5
for index in ...{
print(index) // 1 2 3 4 5
} for index in ..<{
print(index) // 1 2 3 4
}
第三节:集合--有序集合(数组)无序集合(set,dictionary)
/*
swift学习第三节
集合(数组,set,dictionary)
有序集合: 数组
无序集合: set dictionary
*/ import UIKit
//数组
var ary1:Array<Int> = Array<Int>()//定义一个值为空的int类型的数组
var ary2:[Int] = ary1
var ary3 = ary1 var three = [Int](count: , repeatedValue: )
var six = three + three //相同类型的数组可以做运算 var four = [,,,]
four.count if ary1.isEmpty{
print("ary1 为空数组")
} ary1.append() // 添加元素
ary1 += [,,] // 添加多个
ary1[...]
ary1[..<]
ary1[...] = [,] //修改元素
ary1
ary1.insert(, atIndex: ) //在某个下标添加元素
ary1.removeAtIndex() //删除某下标的元素
ary1.removeFirst() //删除第一个元素
ary1.removeLast() //删除最后一个元素
ary1
for (index,value) in ary1.enumerate(){
print("index : \(index) value : \(value)")
} //set
//输出hash值
let number =
number.hashValue
let PI = 3.14
PI.hashValue
let string = "Swift"
string.hashValue //定义一个元素类型为字符的空set
let emptySet = Set<Character>()
let vomel:Set<Character> = ["a","e","i","o","u"];
var evenSet:Set = [,,,,] //类型推断
evenSet.count //该set的个数
evenSet.removeFirst() //移除set的第一个元素
evenSet.insert() //插入一个元素25
evenSet.contains() //判断是否包含
//因为set是无序集合,想要保证一定顺序可以使用sort
for number in evenSet.sort(){
print(number)
} //setA 和 setB 的交集
var setA : Set = [,,,,]
var setB : Set = [,,,]
let setiAB : Set = setA.intersect(setB)
//setA 和 setB 的对称差
let seteAB : Set = setA.exclusiveOr(setB)
//setA 和 setB 的并集
let unionAB : Set = setA.union(setB)
//setA对于setB的补集
let subAB : Set = setA.subtract(setB) //判断集合是否相等
if setA == setB{
print("相等")
}else{
print("不相等")
} setB.isSupersetOf(setA) //判断B是否是A的超集
setB.isSubsetOf(setA)//判断B是否是A的子集 //字典
//创建一个key是int value是string的字典
var int2String = [Int:String]()
int2String = [:]
int2String[] = "Ten"
int2String[] = "Twenty" var capitalNumber = [
:"一",
:"二",
:"三"
] capitalNumber[] // 字典某个下标值
capitalNumber.count //字典的个数
capitalNumber.isEmpty //判断字典是否为空
capitalNumber.updateValue("yi", forKey: ) //修改字典某个key对应的值
capitalNumber[] = nil //对某个下标置空
capitalNumber.removeValueForKey() //移除某个key对应的值
capitalNumber
capitalNumber.dynamicType //类型 for (key,value) in capitalNumber{
print("\(key):\(value)")
}
let keyAry = [Int](capitalNumber.keys);
let valueAry = [String](capitalNumber.values);
第四节:循环语句(for while repeat-while switch)
/*
swift学习第四节
循环语句
for while repeat-while switch */
import UIKit for var i = ;i < ; i++ {
print(i)
} let vomel = ["a","e","i","o","u"]
for char in vomel{
print(char)
} for number in ...{
print(number)
} for _ in ...{
print("*",terminator:"")
} var i =
while i < {
print(i)
++i
} //var n = 0
//repeat {
// print(vomel[n])
// ++i
//}while n < 5 let me = "a"
switch me{
case "a":
print("me is \(me)")
case "e":
print("me is \(me)")
case "i":
print("me is \(me)")
case "o":
print("me is \(me)")
case "y":
print("me is \(me)")
default:
print("都不是")
} switch me{
case "a","e","i","o","u":
print("这个是元音")
default:
print("这个不是元音")
} let number =
switch number{
case ...:
print("这个数在1-10之间")
case ...:
print("这个数在11-99之间")
default:
print("这个数大于100")
} let point = (,)
switch point{
case (,):
print("在原点")
case (_,):
print("在x轴上")
case (,_):
print("在y轴上")
case (-...,-...):
print("在该范围内")
default:
print("位置跑偏")
} switch point{
case (let x,):
print("\(x)")
case (,let y):
print("\(y)")
case let(x,y):
print("\(x),\(y)")
} switch point{
case let(x,y) where x == y:
print("X=Y")
case let(x,y) where x == -y:
print("x=-y")
case let(x,y):
print("\(x),\(y)") }
源码下载地址:
http://download.csdn.net/detail/shaoting19910730/9461377
https://github.com/pheromone/swift-
swift系统学习第一章的更多相关文章
- swift系统学习第二章
第五节:可选类型 optional //: Playground - noun: a place where people can play import UIKit /* Swift学习第五节 可选 ...
- web学习第一章
web学习第一章 我是大概9月10日开始走上IT之路的,一开始学习了小段时间的自动化办公软件, 昨天我开始学习客户端网页编程,我了解什么是WEB,一些比较老古董的计算模式和发展历史,印象最让我深刻 ...
- oracle学习 第一章 简单的查询语句 ——03
1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示全部的列.它与在select 之后列出全部的列名是一样的.查询语句以分号( ...
- Intel汇编语言程序设计学习-第一章 基本概念
第一章基本概念 1.1 简单介绍 本书着重讲述MS-Windows平台上IA-32(Intel Architecture 32bit,英特尔32位体系架构)兼容微处理器的汇编语言程序设计,可以使用I ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 第一章
Asp.Net MVC4 + Oracle + EasyUI 第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
- C#高级编程 (第六版) 学习 第一章:.Net体系结构
第一章 .Net体系结构 1,公共语言运行库(Common Language Runtime, CLR) .Net Framework的核心是其运行库的执行环境,称为公共语言运行库,或.Net运行库. ...
- Ruby学习-第一章
第一章 字符串,数字,类和对象 为了证明Ruby真的好用,hello world也能写的如此简洁: puts 'hello world' 1.输入/输出 print('Enter your name' ...
- Artech的MVC4框架学习——第一章初步认识ASP.NET MVC
前言: Artech觉得掌握ASP.NET MVC具有三个层次. 第一层了解基本的编程模式,掌握Controller和View的定义方式,知道路由如何注册以及验证规则如何定义. 第二个层次要求我们对A ...
随机推荐
- C/C++ 关于生成静态库(lib)/动态库(dll)文件如何使用(基于windows基础篇)
1. 首先,如何制作一个静态库(lib)? 额, 对于静态库,我们知道,里头是不应该有Main函数,它只是一个配合文件.之所以称之为lib静态库,其实就是指,我们需要用到lib里头的函数时,我们才会去 ...
- iOS开发 iOS10推送必看
iOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说.希望看完我的这篇文章,对大家有所帮助. 一.简单入门篇---看完就可以简单适配完了 相对简单的推送证书以及环境的问题,我就不在这 ...
- ASP.NET服务器控件数据绑定总结
using System; using System.Collections.Generic; using System.Text; using System.Web.UI.WebControls;/ ...
- Front End中Javascript兼容问题收集(转)
1 select标签,就有诸多不兼容: A. cloneNode方法,对于非IE浏览器没有问题,对于IE浏览器, 遇到的问题包括: 1)option selected的会clone不过去,然后 ...
- Sui 弹框固定
SUI是一套基于bootstrap开发的前端组件库,同时它也是一套设计规范,可以非常方便的设计和实现精美的页面,是一个简单易用.功能强大的UI库.自己在使用sui过程之中,总是忘记它的一些Api,今天 ...
- 上国际网络——通过配置host
http://laod.cn/hosts/2016-google-hosts.html
- OpenLDAP使用疑惑解答及使用Java完成LDAP身份认证
导读 LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务.目录服务是一种特殊的数据库系统,其专门针对读取,浏览 ...
- CNAPS Code 查询(招商银行)
招商银行的妹子实在太傻了,根本不知道什么是CNAPS Code.联行号,完全答非所问. 最后还是自己搞定了,如图: 最后再看看招行人员的英语水平,真是不知道什么是东西:
- winform按钮和子按钮
实现目标: 一.两组按钮1和2,其中按钮2有两个子按钮, (1)当选按钮1时,按钮2和其子按钮不选中: (2)选中按钮2或其子按钮3和4时,1不选中 (3)选中按钮2时,默认选中其子按钮3 (4)选中 ...
- tab模块
#!/usr/bin/env python # python startup file import sys import readline import rlcompleter import ate ...