【Swift学习】Swift编程之旅(一)
学习一门新语言最经典的例子就是输出“Hello World!”
print("Hello World!") swift就是这样来输出的。
如果你使用过其他语言,那么看上去是非常的熟悉吧。但比一些c要简单的多吧
1、不需要导入一些单独的库,比如输入/输出或字符串处理功能的类库,
2、不需要在全局范围内编写的代码用于作为入口点程序,所以你不需要 main()函数,
3、不需要写在每个语句的末尾的分号。这样写是不是很简单~
简单值
使用let来声明一个常量,var声明一个变量。一个常量值在编译时无须知道,但你只能赋值一次,我们需要在声明时赋值,如果多次赋值会发生编译错误,如下图
一个变量值可以在声明时赋值,也可以在以后赋值。
常量或者变量的类型必须和赋给它们的值一样。然而,声明时类型是可选的,声明同时赋值的话,编译器会自动推断类型。在上面的例子中,编译器推断出var1是一个整数(integer)因为它的初始值是整数。
var shoppingList = ["catfish", "water", "tulips", "blue paint"] shoppingList[1] = "bottle of water"var occupations = ["Malcolm": "Captain","Kaylee": "Mechanic", ] occupations["Jayne"] = "Public Relations”
我们看一下结果
OK!和我们预期的一样。
下面我们创建一个空的数组和字典
let emptyArray = [String]()//创建一个元素为字符类型的数组 let emptyDict = [String:float]()//创建一个key为字符类型,值为浮点类型的字典
如果类型可以被推断出来,你可以使用[]和[:]来创建空的数组和字典。
控制流
使用if和switch执行条件操作,使用for-in ,for,while,repeat-while执行循环操作。条件或循环变量的圆括号是可选的,但是语句体的大括号({})是必须的.
let individualScores = [75, 43, 103, 87, 12] var teamScore = 0 for score in individualScores {if score > 50 {teamScore += 3} else {teamScore += 1} } print(teamScore)//输出11
在if语句中条件必须是一个布尔(Boolean)表达式。在这里我们明晰可以看出swift语法的简洁。
var optionalString: String? = "Hello" print(optionalString == nil)var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = optionalName {greeting = "Hello, \(name)" }
输出结果:
false。
Hello, John Appleseed
因为optionalString和optionalName都是有具体的值,但如果optionalName=nil的话,那么greeting输出结果为Hello!
var optionalName: String? = "John Appleseed" var greeting = "Hello!" if let name = optionalName {greeting = "Hello, \(name)" } else{ greeting = "Hello,匿名" }
输出结果
false
Hello,匿名
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:print("Everything tastes good in soup.") }
输出结果为
Is it a spicy red pepper?
转载于:https://www.cnblogs.com/salam/p/5351314.html
【Swift学习】Swift编程之旅(一)相关推荐
- Swift学习——Swift解释特定的基础(七)
Implicitly Unwrapped Optionals 隐式解析选项 如上所述.可选意味着常数或变量"没有值".通过可选if声明来推断是否存在值,假设有值析值. 有时候 ...
- Swift的一次函数式之旅
????????关注后回复 "进群" ,拉你进程序员交流群???????? 本文字数:5791 字 预计阅读时间:26 分钟 本文适合哪些人? 本文针对的是已经有一部分Swift开 ...
- 学习Swift:经验丰富的开发人员指南
因此,您的老板希望您学习iOS应用开发. 或者,也许您有一个要处理的应用程序侧项目. 你从哪里开始? 学习新平台和编程语言可能会令人生畏. 即使您尝试学习基础知识,也会不断发布新技术,从而很难保持最新 ...
- Swift学习: 从Objective-C到Swift
作者:@方秋枋(GitHub) 这篇文章是自己学习Swift的笔记与深化.希望这篇文章能够帮助已经有Objective-C经验的开发者更快地学习Swift.同时也品味到Swift的精妙之处. 结论放在 ...
- 有 OC 经验的程序员快速学习 Swift 语法
前言 苹果官方推出 Swift 语言至今,已经过了 7 年之久,Swift 也更新到了 5.5 版本, 它的语法和 API 也趋向于稳定.最近闲来无事,决定开始研究这 iOS 开发编程语言的语法.因为 ...
- Apple Swift学习资料汇总
[更新]Apple Swift学习资料汇总 1月16日厦门 OSC 源创会火热报名中,奖品多多哦 » 今年的苹果开发者大会(WWDC)上,公布了ios8的几个新特性,其中包括引入了群聊功能,支持第 ...
- 汇集了很多swift 学习指南
https://github.com/ipader/SwiftGuide 1,059 Unstar 7,294 Fork1,966 ipader/SwiftGuide Code Issues 0 ...
- 从0开始入门学习Swift 01
入门学习Swift基础法语 基础介绍: 了解到想入手苹果开发会需要用到它,准备打算开始学习一下. Swift融合了许多语言的特性,对于一些有其他编程经验的人来讲会学习得非常快.因为是自学的缘故,进度和 ...
- 零基础使用Swift学习数据科学
概述 Swift正迅速成为数据科学中最强大.最有效的语言之一 Swift与Python非常相似,所以你会发现2种语言的转换非常平滑 我们将介绍Swift的基础知识,并学习如何使用该语言构建你的第一个数 ...
- swift 学习资料大全
版本:Swift github排名 https://github.com/trending,github搜索:https://github.com/search 主要工作说明: 1. 将Swift从 ...
最新文章
- 更适合程序员使用的Vim配置 显示行号 语法高亮 智能缩进
- 浅析“高斯白噪声”,“泊松噪声”,“椒盐噪声”的区别
- 划重点丨详解Java流程控制语句知识点
- 盐城有哪些中专计算机学校,盐城有什么中专学校
- android sqlite联合,在联合查询中,Android SQLiteorder by 计算列_sql_开发99编程知识库...
- 页面s升级中_你的电脑要不要升级内存?怎么升级?答案都在这里
- VC++下使用ADO编写数据库程序(关键文章)
- (standard input): No keywords in input file
- 五、pygame做一个简单的五子棋游戏
- VC++通过MSXML6来操作xml需要注意的内存泄漏问题
- 计算机省技能竞赛总结,2014技能大赛总结:技能大赛个人总结
- Android Studio连接手机调试出现Session 'app': Error Installing APK
- 2345加速浏览器有哪些特点
- Win10系统 格式化分配单元大小的解释与分配方法
- android google 登录登出接入
- 学校信息计算机教案百度文库,人教版信息技术教案 八年级下册_百度文库(45页)-原创力文档...
- Latex 中的警告 Foreign command \atop 的解决方法
- scrapy爬取豆瓣所有电影信息(新手入门超详细版)
- 未来会有哪些黑科技推动区块链技术的发展
- 超全面解释人、机、料、法、环,以后不怕画鱼骨图|优思学院
热门文章
- LeetCode算法入门- Search Insert Position -day19
- python的装饰器、迭代器、yield_python装饰器,迭代器,生成器,协程
- 单链表的代码python_python版本单链表实现代码
- c++ 访问控制与封装
- 嵌入式nosql php,NoSQL 嵌入式数据库NeDB示例
- 条令考试小程序辅助器_可以自己编题的答题软件,自定义题库考试出题工具,微信答题小程序...
- java getdelay_java中DelayQueue的一个使用陷阱分析
- python优化网站_[练习] 用PYTHON来优化网站中的图片
- coordinatorlayout_一篇文章学会Coordinatorlayout+AppbarLayout
- php 伪静态 获取当前页面路径_织梦移动适配PHP获取当前页面URL地址方法