//
// 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. 11.tensorboard网络结构

    import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data # 载入数据集 mnist = i ...

  2. CSS——字体大小最常用的单位

    px (像素): 将像素的值赋予给你的文本.这是一个绝对单位, 它导致了在任何情况下,页面上的文本所计算出来的像素值都是一样的. ems: 1em 等于我们设计的当前元素的父元素上设置的字体大小 (更 ...

  3. HNOI2004 树的计数 和 HNOI2008 明明的烦恼

    树的计数 输入文件第一行是一个正整数n,表示树有n个结点.第二行有n个数,第i个数表示di,即树的第i个结点的度数.其中1<=n<=150,输入数据保证满足条件的树不超过10^17个. 明 ...

  4. Typescript玩转设计模式 之 创建型模式

    作者简介 joey 蚂蚁金服·数据体验技术团队 前言 我们团队的工作是用单页面应用的方式实现web工具.涉及到数万到十数万行的前端代码的管理,而且项目周期长达数年. 怎么样很好地管理好这种量级的前端代 ...

  5. STM32F103C8T6最小板搞定CMSIS-DAP和SWO功能

    转载:http://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=616081&extra=page%3D&am ...

  6. python中ord()函数,chr()函数,unichr()函数

    ord()函数,chr()函数,unichr()函数 chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Uni ...

  7. Codeforces 839E Mother of Dragons

    题 OvO http://codeforces.com/contest/839/problem/E (Codeforces Round #428 (Div. 2) - E) 解 首先,k肯定是要平均分 ...

  8. vue环境搭建及简单接触

    1.安装node环境 首先官网安装nodejs,下载地址https://nodejs.org/en/ 很多情况下,npm i 命令安装的包都是要科学上网的,或者就是国际网,下载速度很慢,不过有个淘宝镜 ...

  9. 笔记本在安装Windows+Linux双系统后,进入Windows时花屏的解决办法

    问题:在笔记本安装双系统(Windows7+Ubuntu14.04)[先安装Windows,后安装Ubuntu]后,进入Windows时出现了花屏. 问题原因:笔记本只有集显,在系统启动时会先加载Ub ...

  10. node链接mongoDB及封装

    // 这个模块中封装所有对数据库的常用操作 const MongoClient = require('mongodb').MongoClient; const assert = require('as ...