版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/zhenyu5211314/article/details/34807025

注:由于基础部分在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基础具体解释(一)的更多相关文章

  1. Swift学习——Swift解释具体的基础(六)

    Optionals    可选 可选(它似乎并不如此翻译)它适用于那些值这种情况可能是空的,有两种情况一个可选:存在值并等于x,要么值不存在. 选配的概念在OC和C里面并没有.在OC中最接近的概念就是 ...

  2. Swift学习——Swift解释特定的基础(七)

    Implicitly Unwrapped Optionals    隐式解析选项 如上所述.可选意味着常数或变量"没有值".通过可选if声明来推断是否存在值,假设有值析值. 有时候 ...

  3. Swift 学习- 02 -- 基础部分2

    class NamedShape{ var numberOfSides: Int = 0 var name: String init(name: String) { self.name = name ...

  4. Swift 学习- 01 -- 基础部分

    print("世界,你好") var myVariable = 42 myVariable = 50 let myConstant = 42 let implicitinteger ...

  5. 零基础使用Swift学习数据科学

    概述 Swift正迅速成为数据科学中最强大.最有效的语言之一 Swift与Python非常相似,所以你会发现2种语言的转换非常平滑 我们将介绍Swift的基础知识,并学习如何使用该语言构建你的第一个数 ...

  6. 一步一步学习Swift之(二):好玩的工具playground与swfit基础语法

    playground好于在于能一边写代码一边看到输出的常量变量的值.不需要运行模拟器. 我们来试一下该工具的用法. 打开xcode6开发工具,选择Get started with a playgrou ...

  7. swift学习笔记1——基础部分

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  8. swift 学习(一)基础知识 (基本数据类型,操作符,流控制,集合)

    xcode 中调用API帮助 1.查看简单信息,选中后 按键 control +左键单击  或者按 右侧属性栏 里的帮助按钮 2.完整API,选中后 按键 control +左键双击 3.查看类.函数 ...

  9. swift学习笔记4——扩展、协议

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

随机推荐

  1. 【转】【iOS测试系列】常用测试小插件的使用

    背景介绍 由于iOS系统的限制,在非越狱的自动化测试中无法实现一些常用的功能,比如不同应用之间来回切换.模拟全局的点击事件等等.但是在越狱的环境下,这些限制就不存在了,我们可以利用各种小插件来实现我们 ...

  2. java---正则表达式的字符串简单实用及扩展链接

    一:什么是正则表达式 1.定义:正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的 ...

  3. java深度搜索与广度优先搜索

    图结构展示: 实现过程: 首先,我们来看看图结构在代码中的实现.有三块逻辑: 1.图中的节点: public class GraphNode { public List<GraphEdge> ...

  4. 游戏开发之coco2dx ---2d 游戏特效

    http://www.cnblogs.com/gamedes/p/4547722.html

  5. RabbitMQ组成及原理介绍-3

    rabbitmq作为成熟的企业消息中间件,实现了应用程序间接口调用的解耦,提高系统的吞吐量. 1.RabbitMQ组成 是由 LShift 提供的一个 Advanced Message Queuing ...

  6. MongoDB基本用法

    MongoDB基本用法(增删改高级查询.mapreduce) 分享一下我经常用到的自己写的mongo用法示例 该示例基于当前最新的mongo驱动,版本为mongo-2.10.1.jar,用junit写 ...

  7. CStringArray序列化处理

    开发中需要对CStringArray进行保存操作,涉及到序列化,特总结一下: //写 CStringArray saTmp1; CStringArray saTmp2 saTmp1.AddString ...

  8. boost实用工具:typeof库 BOOST_TYPE BOOST_AUTO

    boost::typeof库中使用宏BOOST_TYPE和BOOST_AUTO来模拟C++11关键字typeof和auto  C++ Code  123456789101112131415161718 ...

  9. hdu 2196(求树上每个节点到树上其他节点的最远距离)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2196 思路:首先任意一次dfs求出树上最长直径的一个端点End,然后以该端点为起点再次dfs求出另一个 ...

  10. localStorage变更事件当前页响应新解-awen

    html5的localStorage相信大家都是很熟悉了,但是在chrome等支持该对象的浏览器中(ie10除外),如果你监听storage变更事件你就会发现,当数据发生变化时本页是监听不到stora ...