Swift学习——Swift基础具体解释(一)
注:由于基础部分在Swift Tour 中已经大体的说明了,所以在具体解释中不会达到100%的原文释义
Constants and Variables 常量和变量
常量和变量都须要声明名称和类型(作为程序猿,这些基础也就不说了),常量一次赋值不能改变。变量的值能够改变
Declaring Constants and Variables 声明常量和变量
常量和变量在使用之前必须要声明,使用letkeyword定义常量。varkeyword定义变量
以下的样例能够用来定义用户登录的时候最大的尝试次数:
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
能够在一行定义多个变量或者常量。用逗号隔开:
var x = 0.0, y = 0.0, z = 0.0
Type Annotations 类型标志
类型标志(类型凝视)能够标记你定义的变量或者常量同意存储的类型。在变量/常量的名称后面放置一个冒号,然后留一个空格,然后写上类型的名称
var welcomeMessage: String
这个变量就能够存储String类型了
welcomeMessage = "Hello"
在实际编码过程中,你差点儿不须要给变量/常量类型标志。由于当你第一次赋值的时候。Swift已经知道了变量的类型。假设声明变量的时候没有赋值。那Swift才通过类型标志识别变量的类型
Naming Constants and Variables 命名变量和常量
你能够使用随意你喜欢的字符命名变量和常量,包括Unicode编码:
let π = 3.14159
let 你好 = "你好世界"
你妹的,白打了那么多了,由于粘贴一个表情,后面写的都没有了,好桑心啊
在Swift中。对于常量和变量的名称定义宽泛了很多
常量和变量命名的时候不能包括数学符号、箭头、私人定义的Unicode字符,或者用点和横线拼接的字符,也不同意以数字开头。可是数字能够在名称中的其它地方
一旦你用一种确定的类型定义了一个常量或者变量,你就不能用相同的变量名定义其它变量了,也不同意改变变量/常量的类型,变量也不能够转换成常量,常量也不能够转换成变量
假设你想使用Swiftkeyword作为变量名称,那么小伙伴仅仅能对你说(no zuo no die why you try),既然你这么坚持用的话。Swift也提供了你使用的方法,使用括号把变量名称括起来。像这样(`)
改变变量的值:
var friendlyWelcome = "Hello!"
friendlyWelcome = "Bonjour!"
// friendlyWelcome is now "Bonjour!"
常量的值不能改变,改变会报编译错误:
let languageName = "Swift"
languageName = "Swift++"
// this is a compile-time error - languageName cannot be changed
Printing Constants and Variables 打印常量和变量
能够使用println进行打印:
println(friendlyWelcome)
// prints "Bonjour!
之前用过OC的都知道啦。和NSLog一个功能。C,C++里面也有啊,并且还能够带參数的。
println和print的差别就是:都是用来控制台打印的,println打印之后换行,print打印之后不换行
也能够打印一个字符串:
println("This is a string")
// prints "This is a string
另一种方法能够将变量或者常量放到字符串中,将变量放入括号()中。在前面加上反斜杠 \ 。如 \(变量.常量)
println("The current value of friendlyWelcome is \(friendlyWelcome)")
// prints "The current value of friendlyWelcome is Bonjour!
Comments 凝视
单行凝视
// this is a comment
多行凝视
/* this is also a comment,
but written over multiple lines */
嵌套凝视:
/* this is the start of the first multiline comment
/* this is the second, nested multiline comment */
this is the end of the first multiline comment */
嵌套凝视的功能就是能够一次性凝视一大段的代码。并且不用管这段代码中间的其它凝视
Semicolons 分号
Swift代码能够不写分号。每一行是一个语句。当然写了也能够。假设一行要放两个语句,就用分号隔开
let cat = "cats"; println(cat)
// prints "cats"
Swift学习——Swift基础具体解释(一)的更多相关文章
- Swift学习——Swift解释具体的基础(六)
Optionals 可选 可选(它似乎并不如此翻译)它适用于那些值这种情况可能是空的,有两种情况一个可选:存在值并等于x,要么值不存在. 选配的概念在OC和C里面并没有.在OC中最接近的概念就是 ...
- Swift学习——Swift解释特定的基础(七)
Implicitly Unwrapped Optionals 隐式解析选项 如上所述.可选意味着常数或变量"没有值".通过可选if声明来推断是否存在值,假设有值析值. 有时候 ...
- Swift 学习- 02 -- 基础部分2
class NamedShape{ var numberOfSides: Int = 0 var name: String init(name: String) { self.name = name ...
- Swift 学习- 01 -- 基础部分
print("世界,你好") var myVariable = 42 myVariable = 50 let myConstant = 42 let implicitinteger ...
- 零基础使用Swift学习数据科学
概述 Swift正迅速成为数据科学中最强大.最有效的语言之一 Swift与Python非常相似,所以你会发现2种语言的转换非常平滑 我们将介绍Swift的基础知识,并学习如何使用该语言构建你的第一个数 ...
- 一步一步学习Swift之(二):好玩的工具playground与swfit基础语法
playground好于在于能一边写代码一边看到输出的常量变量的值.不需要运行模拟器. 我们来试一下该工具的用法. 打开xcode6开发工具,选择Get started with a playgrou ...
- swift学习笔记1——基础部分
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
- swift 学习(一)基础知识 (基本数据类型,操作符,流控制,集合)
xcode 中调用API帮助 1.查看简单信息,选中后 按键 control +左键单击 或者按 右侧属性栏 里的帮助按钮 2.完整API,选中后 按键 control +左键双击 3.查看类.函数 ...
- swift学习笔记4——扩展、协议
之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...
随机推荐
- Spring Boot 属性配置&自定义属性配置
在使用spring boot过程中,可以发现项目中只需要极少的配置就能完成相应的功能,这归功于spring boot中的模块化配置,在pom.xml中依赖的每个Starter都有默认配置,而这些默认配 ...
- 115个Java面试题和答案(上)
转自:http://www.importnew.com/10980.html 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的 ...
- 003Maven_Maven核心概念
Maven核心概念 Maven插件 Maven的核心仅仅定义了抽象的生命周期,具体的任务都是交由插件完成的每个插件都能实现多个功能,每个功能就是一个插件目标 Maven的生命周期与插件目标相互绑定,以 ...
- Java的图形界面依然是跨平台的
Awt:抽象窗口工具箱,它由三部分组成: ①组件:界面元素: ②容器:装载组件的容器(例如窗体): ③布局管理器:负责决定容器中组件的摆放位置. 图形界面的应用分四步: ① 选择一个容器: ⑴wind ...
- POST GET 请求示例
HTTP GET 请求代码: HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.baidu.com ...
- 【BZOJ】2440: [中山市选2011]完全平方数(莫比乌斯+容斥原理+二分)
http://www.lydsy.com/JudgeOnline/problem.php?id=2440 我觉得网上很多题解都没说清楚...(还是我太弱了? 首先我们可以将问题转换为判定性问题,即给出 ...
- 【vijos】1164 曹冲养猪(中国剩余定理)
https://vijos.org/p/1164 好赞orz. 对于求一组线性同余方程 x=a[i](mod m[i]) 这里任意两个m[i]和m[j]都互质 那么可以用中国剩余定理来做. 对中国剩余 ...
- 选择LoadRunner Protocol的两大定律
选择LoadRunner Protocol的两大定律 确定性能测试脚本录制时使用的协议类型经常是一个容易引起误会的问题.很多刚刚接触到性能测试的同行常常会想当然地根据开发语言等来决定协议的选取,导致录 ...
- hdu 4722(记忆化搜索)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 思路:简单的记忆化搜索,留意一下A==0时的情况就可以了. #include<iostre ...
- Python Scrapy 验证码登录处理
一.Form表单分析 以豆瓣登录页面为例分析,豆瓣登录页是:https://accounts.douban.com/login,浏览器打开之后查看源码,查找登录的form表单HTML结构.如下: 包括 ...