//
// ViewController.swift
// SwiftBasicDemo
//
// Created by 思 彭 on 16/11/15.
// Copyright © 2016年 思 彭. All rights reserved.
// import UIKit class ViewController: UIViewController { override func viewDidLoad() {
super.viewDidLoad() // 1.常量,变量, 类型转换
let label = "The Width is"
let width =
let widthLabel = label + String(width) //2.拼接字符串
let apples =
let oranges =
let appleSummany = "I have \(apples) apples"
let fruitSummany = "I have \(apples + oranges) fruits" // 3.数组,字典的使用
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[] = "bottle of water"
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
// 当没有key,则默认师插入,否则是修改
occupations["janyne"] = "Public Relations" // 4.创建空字典,空数组
let emptyArray = [String]()
let emptyDic = [String: Float]() // 当类型可以被推断,使用以下方法是错误的
/*
let emptyArray1 = []
let emptyDic1 = [:]
*/ shoppingList = []
occupations = [:] // 5.if条件判断
let individualScores = [, ,, , ]
var teamScore =
for score in individualScores {
if score > {
teamScore +=
}
else {
teamScore +=
}
}
print("teamScore = \(teamScore)") // 6.可选类型?
var optionString: String? = "Hello"
print(optionString == nil) // false var optionName: String? = "John Appleseed"
var greeting = "Hello!"
// 守护
if let name = optionName {
greeting = "Hello,\(name)"
}
print("greeting = \(greeting)") // 7.可选值为nil ??类似三目 当可选类型不存在为nil,则使用??后面的默认值
let nickName: String? = nil
let fullName: String = "John Appleseed"
let informalGreeting = "Hi \(nickName ?? fullName)"
print(informalGreeting) // 8.Switch的使用
let vegetable = "red pepper"
switch vegetable {
case "celery":
print("Add some raisins and make ants on a log.")
case "cucumber", "watercress": //多个值
print("That would make a good tea sandwich.")
case let x where x.hasSuffix("pepper"): // 条件判断
print("Is it a spicy \(x)?")
// 注意:default必须有,否则报错
default:
print("Everything tastes good in soup.")
} // 9. 元组的使用 找出最大值
// 注意: 最后一个,可要可不要,都不会报错
let interestingNumbers = [
"Prime" : [, , , , , ],
"Fibonacci": [, , , , , ],
"Square": [, , , , ]
]
var largest =
for (kind, numbers) in interestingNumbers {
print(kind)
for number in numbers {
if number > largest {
largest = number
}
}
}
print(largest) // 10. while循环 2 可能一次也不执行
var n =
while n < {
n = n *
}
print(n) // repeat while循环 4 注意:至少会执行一次
var m =
repeat {
m = m *
}while m <
print(m) // 11. ..<的使用 6
var total =
for i in ..< { // 注意不要使用空格,否则报错
total += i
}
print("total = \(total)") // 12: 函数和元组
// 返回值为string
func greet(person: String, day: String) -> String { return "Hello \(person),today = \(day)."
}
//函数调用
let str = greet(person: "SiSi", day: "Tuesday")
print("str = \(str)") // 13. _参数名可以省略
func greet1 (_ person: String, on day: String) -> String { return "Hello \(person), today is \(day)"
}
print(greet1("haha", on: "hahahah")) // 14. 元组 --- 函数返回多个值
func calculatevalue(scores: [Int]) -> (min: Int, max: Int, sum: Int) { var min = scores[]
var max = scores[]
var sum =
for score in scores {
if score > max {
max = score
}
else if score < min {
min = score
}
sum += score
}
return (min, max, sum)
} // 函数调用
let result = calculatevalue(scores: [, , , , ])
print(result.min)
print(result.max)
print(result.) // 下标调用: 注意: 下标从0开始 // 15.参数不特定指定数组 每一个值为Int
func sumOf(numbers: Int...) ->Int { var sum =
for number in numbers {
sum += number
}
return sum
}
print(sumOf(numbers: ,,,)) // 16.函数的嵌套 15
func returnFifteen() ->Int { var y =
func add() {
y +=
}
add()
return y
}
print(returnFifteen()) // 17. 函数的返回值是一个函数类型 8
func makeIncrement() -> ((Int) -> Int) {
func addOne(number: Int) -> Int {
return + number
}
return addOne
}
var increment = makeIncrement()
print(increment()) // 18. 函数的参数是函数类型 true
func hasAnyMatches(list: [Int], condition: (Int) -> Bool) -> Bool { for item in list {
if condition(item) {
return true
}
}
return false
}
func lessThanTen(number: Int) -> Bool { return number <
}
var numbers = [, , , ]
print(hasAnyMatches(list: numbers, condition: lessThanTen)) // 19. map
numbers.map({ (number: Int) -> Int in
let result = * number
return result
})
let mappedNumbers = numbers.map { (number) in
* number
}
print(mappedNumbers)
}
}

每一条对应每一个语法知识点,注释很详细哟!!!

Swift3.0基础语法学习<一>的更多相关文章

  1. Swift3.0基础语法学习<三>

    枚举和结构体: // // ViewController3.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/16. // Copyright ...

  2. Swift3.0基础语法学习<二>

    对象和类: // // ViewController2.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/15. // Copyright © ...

  3. Swift3.0基础语法学习<五>

    异常处理: // // ViewController5.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/16. // Copyright © ...

  4. Swift3.0基础语法学习<四>

    协议和扩展: // // ViewController4.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/16. // Copyright ...

  5. swift3.0基础语法

    swift 3.0 基础语法 目录 01-变量和常量 02-运算符 03-可选项 04-条件语句 05-循环 06-字符串 07-元组 08-数组 09-字典 10-对象和类 11-枚举 12-属性 ...

  6. swift3.0基础语法(2)

    变量/常量,元组声明 var aaa = 0;//声明变量aaa 首次赋值时自动解析为Int类型 var aaa:Int = 0;//声明Int类型变量aaa let aaa = 0;//声明常量aa ...

  7. 学习java之基础语法(三)

    学习java之基础语法(三) java运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运 ...

  8. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

  9. Swift基础语法学习总结

    Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...

随机推荐

  1. Linux之apt-get软件管理

    apt-get 用Linux apt-get命令的第一步就是引入必需的软件库,Debian的软件库也就是所有Debian软件包的集合,它们存在互联网上的一些公共站点上.把它们的地址加入,apt-get ...

  2. linux 安装weblogic(转载)

    整个过程大同小异,不再笔记,就摘了网上的一篇. 原文地址:http://www.cnblogs.com/walk-the-Line/p/5409094.html 一.安装weblogic10.3.6 ...

  3. pycharm运行程序,总是出现IPthony界面(IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help. PyDev console: using IPython 6.2.1)

    解决方式如下: 取消即可.

  4. jar包上传本地maven仓库

    执行mvn install:install-file -Dfile=D:\software\jave-1.0.2\jave-1.0.2\jave-1.0.2.jar -DgroupId=it.saur ...

  5. [Docker]Harbor部署私有镜像仓库

    Harbor部署私有镜像仓库 认识: Harbor 是一个用于存储和分发 Docker 镜像的企业级 Registry 服务器. 部署环境: CentOS7 Python2.7.5 Docker CE ...

  6. H5 设计尺寸

    750*1218 微信下 兼容 7plus 内容高度 居中 1000px 内 750*1448 微信下 兼容 iphoneX 微信导航栏高度 64px 64px =  导航栏44+状态栏20 但是现在 ...

  7. 51 Nod 1043 幸运号码(需重做好好体会)

    转自:http://www.cnblogs.com/geloutingyu/p/6329594.html 一道非常好的dp题目. 1043 幸运号码  基准时间限制:1 秒 空间限制:131072 K ...

  8. HGOI 20191029am 题解

    Promblem A 小G的字符串 给定$n,k$,构造一个长度为$n$,只能使用$k$种小写字母的字符串. 要求相邻字符不能相同且$k$种字母都要出现 输出字典序最小的字符串,无解输出$-1$. 对 ...

  9. zabbix监控远端主机

    接着上一篇博客,zabbix监控搭建起来以后,怎么用来监控其他主机呢,这一篇就来简单讲一下,希望对大家有所帮助. 安装一些依赖包 [root@winter ~]# yum install curl c ...

  10. $\LaTeX$数学公式大全9

    $9\ Math\ mode\ accents$ $\acute{a}$ \acute{a} $\breve{a}$ \breve{a} $\ddot{a}$ \ddot{a} $\grave{a}$ ...