李洪强iOS开发Swift篇---11_变量&常量&元组

说明:

1)终于要写一写swift了。其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了。另外,对于14年部分iOS开发Swift篇专题的博文也不再做任何的校正和更新,特此说明。

2)该博文对应代码可以在https://github.com/HanGangAndHanMeimei/Code获得。

一、变量和常量

01 变量和常量的定义

  在swift中变量使用var来修饰,常量使用let来修饰,变量可以修改而常量不能被修改。

  变量:var

  常量:let

  格式:修饰符(var|let) 变量|常量名称:数据类型 = 值

  注意:在使用swift开发过程中,一般情况下先使用let,只有该数据需要修改的时候再修改为var,可以保证数据安全性。

  

02 类型推导

  在swift中如果在变量|常量定义的时候进行初始化,那么数据类型可以省略不写,系统会自动推导出该变量|常量的数据类型。

  建议:在开发中应该尽量使用自动推导(除非是需要明确指定数据长度或者是需要先定义后初始化),可以最大化的降低代码的冗余。

   

03 类型转换

  在OC中有显示转换和隐式的类型转换,但在swift中没有隐式类型转换,只有相同类型的数据才能进行赋值或运算。

二、元组

  元组是一种复合的数据类型,只要将多个数据(可以是相同或不同数据类型的)使用一夜()括起来就称之为一个元组。

  元组的优点在于,可以方便的实现函数返回多个值。

  元组的定义格式:常量|变量修饰符 常量|变量的名称:(数据类型1,数据类型2,数据类型3)=(值1,值2,值3)

  

李洪强iOS开发Swift篇---11_变量&常量&元组的更多相关文章

  1. 李洪强iOS开发Swift篇—02_变量和常量

    李洪强iOS开发Swift篇—02_变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3. ...

  2. 李洪强iOS开发Swift篇---12_NSThread线程相关简单说明

    李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThre ...

  3. 李洪强iOS开发Swift篇—10_方法

    李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...

  4. 李洪强iOS开发Swift篇—09_属性

    李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要 ...

  5. 李洪强iOS开发Swift篇—08_函数(2)

    李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1 ...

  6. 李洪强iOS开发Swift篇—07_函数

    李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...

  7. 李洪强iOS开发Swift篇—06_流程控制

    李洪强iOS开发Swift篇—06_流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注 ...

  8. 李洪强iOS开发Swift篇—05_元组类型

    李洪强iOS开发Swift篇—05_元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let po ...

  9. 李洪强iOS开发Swift篇—04_运算符

    李洪强iOS开发Swift篇—04_运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运 ...

随机推荐

  1. 关于IPv6

    App在本地IPv6的测试环境下运行一切正常,结果又是被拒,悲剧原因还是IPv6的问题;求解决方法被拒原因We discovered one or more bugs in your app when ...

  2. ASP.NET MVC(一) 什么是Razor

    Razor 是一种向网页添加基于服务器的代码的标记语法 Razor 不是编程与语言.它是服务端标记语言. 当网页被写入浏览器时,基于服务器的代码能够创建动态内容.在网页加载时,服务器在向浏览器返回页面 ...

  3. 20151214 jquery插件代码备份

    ;(function ($) { //局部性的 /*$.fn.extend({ 'nav' : function (color) { $(this).find('.nav').css({ 'list- ...

  4. 趣拍proguard配置

    # Add project specific ProGuard rules here.# By default, the flags in this file are appended to flag ...

  5. WORDPRESS 后台500错误解决方法集合

    引自: http://www.guuglc.com/565.html 这篇文章本质上我是不可能会写到,就因为7号那天晚上,我准备搬家的时候,发现前台完好,进入后台却500错误. 这时我就得急的,毕竟明 ...

  6. 堆排序算法(C#实现)

    在软件设计相关领域,“堆(Heap)”的概念主要涉及到两个方面: 一种是数据结构,逻辑上是一颗完全二叉树,存储上是一个数组对象(二叉堆). 另一种是垃圾收集存储区,是软件系统可以编程的内存区域. 本文 ...

  7. AWK详细用法

    awk非常的优秀,运行效率高,而且代码简单,对格式化的文本处理能力超强.基本上grep和sed能干的活awk全部都能干,而且干得更好. 先来一个很爽的例子:文件a,统计文件a的第一列中是浮点数的行的浮 ...

  8. RPC实现原理(HSF、dubbo) 从头开始(一)

    前言 阔别了很久博客园,虽然看了以前写的很多东西感觉好幼稚,但是还是觉得应该把一些自己觉得有用的东西和大家分享.废话不多说,现在开始进入正题. 之前的六年工作经验,呆过了一些大公司,每个在大公司呆过的 ...

  9. OpenJudge 2749 分解因数

    1.链接地址: http://bailian.openjudge.cn/practice/2749/ 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 给出一个正整数a,要求分 ...

  10. 【转】Java编程之字符集问题研究

    发现这是对字集说得最明了的一篇文章了. 转发自:http://tomcat-oracle.iteye.com/blog/2037160 1. 概述 本文主要包括以下几个方面:编码基本知识,java,系 ...