前些日子。第一届Swift开发人员大会开了之后。身边非常多搞OC的朋友就按捺不住了。

都认为是时候学一下Swift了,毕竟Swift已是趋势。

也是应他们再三要求,让我整理一下Swift的学习心得。今天就从Swift的基本的语法说起——

定义

  • let 定义常量,一经赋值不同意再改动
  • var 定义变量。赋值之后仍然能够改动
// 定义常量而且直接设置数值
let x: Int = 10
// 常量数值一经设置,不能改动,下面代码会报错
// x = 30 // 使用 `: 类型`。只只定义类型。而没有设置数值
let y: Int
// 常量有一次设置数值的机会。下面代码没有问题。由于 `y` 还没有被设置数值
y = 10 // 一旦设置了数值之后。则不能再次改动。下面代码会报错,由于 `y` 已经被设置了数值
// y = 50 print(x + y) // 变量设置数值之后,能够继续改动数值
var z: Int
z = 100
z = 200 print(x + y + z)

自己主动推导


  • Swift 可以依据右边的代码,推导出变量的准确类型
  • 通常在开发时。不须要指定变量的类型
  • 假设要指定变量。可以在变量名后使用 :,然后跟上变量的类型

没有隐式转换


  • Swift 对数据类型要求异常严格
  • 不论什么时候。都不会做隐式转换

let & var 的选择

  • 应该尽量先选择常量,仅仅有在必须改动时,才须要改动为 var

Swift基础1.1——基本的语法—变量和常量的更多相关文章

  1. C++入门到理解阶段二基础篇(2)——C++注释、变量、常量、关键字、标识符

    目录 1.注释 注释作用 注释的方式 2.变量 变量基本知识 定义变量 3.常量 常量基本知识 整数常量 浮点常量 布尔常量 字符常量 字符串常量 常量定义 使用 #define 预处理器. 使用 c ...

  2. Arduino语法-变量和常量

    变量的声明: int led=11 一般变量的声明方法为类型名+变量名+变量初始化值.变量名的写法约定为首字母小写 变量的作用范围又称为作用域,变量的作用范围与该变量在哪儿声明有关,大致分为如下两种: ...

  3. python基础知识(保留字和标识符、变量、常量、基本数据类型)

    保留字 保留字是python语言中已经被赋予特定意义的一些单词,开发程序时,不可以作为变量.函数.类.模块和其他对象的名称来使用例如:import 关键字输入后会变色 通过代码进行查看 import ...

  4. C++ 语法--变量和常量

    起步 Hello world! #include <iostream> int main() { std::cout<<"Hello, world!"; ; ...

  5. Swift基础语法(常量变量、数据类型、元组、可选、断言)

    本文来自Swift中文开发组,感谢翻译者的分享. 本文将分几部分对Swift对ios的语法做讲解.本文为第一节,主要讲解基础语法. 常量和变量 常量和变量把一个名字(比如maximumNumberOf ...

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

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

  7. Swift基础语法学习总结

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

  8. Swift基础语法学习总结一

    1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型,几乎所有类型都是可打印的. ...

  9. Swift基础语法(三)

    Array数组在swift中Array相当于oc中的NSMutableArray(变长数组) //1.定义数组 var numarr:Int[] = [,,,,]; var strarr:String ...

随机推荐

  1. Flume的可扩展性

    Flume的可扩展性:Flume采用了三层架构,分别为agent,collector和storage,每一层均可以水平扩展.其中,所有agent和 collector由master统一管理,这使得系统 ...

  2. BZOJ3238: [Ahoi2013]差异(后缀数组)

    Description Input 一行,一个字符串S Output 一行,一个整数,表示所求值 Sample Input cacao Sample Output 54 解题思路: 看到lcp,想到了 ...

  3. Spider_scrapy

    多线程爬虫 进程线程回顾 进程 系统中正在运行的一个应用程序 1个CPU核心1次只能执行1个进程,其他进程处于非运行状态 N个CPU核心可同时执行N个任务 线程 进程中包含的执行单元,1个进程可包含多 ...

  4. oracle 归档模式和非归档模式

    http://www.cnblogs.com/gaojian/p/3611641.html http://blog.csdn.net/yong5241200/article/details/39451 ...

  5. windows和Linux内存的对齐方式

    一.内存对齐的初步解说 内存对齐能够用一句话来概括: "数据项仅仅能存储在地址是数据项大小的整数倍的内存位置上" 比如int类型占用4个字节,地址仅仅能在0,4,8等位置上. 例1 ...

  6. Android Studio运行报错,Cannot find System Java Compiler. Ensure that you have installed a JDK......

    详细报错信息如下 Error:Execution failed for task ':app:compileDebugJavaWithJavac'. > Cannot find System J ...

  7. android studio执行 Information:Gradle tasks [:app:assembleDebug]失败处理

    Error:Execution failed for task ‘:app:mergeDebugResources’. > Some file crunching failed, see log ...

  8. JS搜索菜单实现

    1 <!--菜单搜索功能--> 2 <!--先写静态页面--> 3 <!DOCTYPE html> 4 <html> 5 <head> 6 ...

  9. 【Codeforces Round #431 (Div. 2) C】From Y to Y

    [链接]点击打开链接 [题意] 让你构造一个大小最多为10W的字符multiset. 你进行n-1次操作; 每次操作,从set中取出两个字符串,一开始单个字符被认为是字符串. 然后把它们连接在一起. ...

  10. Windows下编译OpenSSL(使用VS2013)

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...