字面量是一个很强大的特性,对于缩短代码很有帮助


// // 1 字面量就是 简洁明了指出自己的类型并且为变量赋值的的值
// tom false 称之为字面量
let dog:String = "tom";
let ok = false;// Array 和 Dictionary 赋值的时候也是使用的字面量
let animals:Array = ["1","2","3"];
let settings = ["name":"alex"];// 2 Swift 提供了一组协议 使用字面量来表达特定的类型
// 对于那些实现了字面量表达协议的类型,在提供字面量赋值的时候,就可以简单的按照协议方法中定义的规则
// 通过赋值的方式将值表达为对应类型 ,这些协议包含了原生的字面量
// 其实每一个字面量表达式内部都有一个初始化方法
//ExpressibleByNilLiteral
//ExpressibleByIntegerLiteral
//ExpressibleByArrayLiteral
//ExpressibleByBooleanLiteral
//ExpressibleByStringLiteral
//ExpressibleByFloatLiteral// 3 实现一个自己的字面量
class Dog:ExpressibleByStringLiteral{let name:String;init(value:String) {self.name = value;}required init(stringLiteral value: String) {self.name = value;}required init(unicodeScalarLiteral value: String) {self.name = value;}required init(extendedGraphemeClusterLiteral value: String) {self.name = value;}
}
// Jerry  通过字符串来初始化一个类
let d:Dog = "Jerry";
print(d.name);// 这也就说明了 为什么Dictionary和Array 通过字面量直接进行初始化

Swift 字面量表达相关推荐

  1. php字面量,Swift 字面量

    所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值.比如在下面:let aNumber = 3         //整型字面量 let aStri ...

  2. swift_012(Swift 的字面量)

    //***********swift学习之12--字面量--*************************** // 字面量:所谓字面量就是指像特定的数字,字符串或者是布尔值这样能够直接了当地指出 ...

  3. JS:关于JS字面量及其容易忽略的12个小问题

    简要 问题1:不能使用typeof判断一个null对象的数据类型 问题2:用双等号判断两个一样的变量,可能返回false 问题3:对于非十进制,如果超出了数值范围,则会报错 问题4:JS浮点数并不精确 ...

  4. c语言字面量的作用是为变量,C语言 字面量

    在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation). 几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数.浮点数以及字符串: 而有很多也对布尔类 ...

  5. C++——新类型与原始字面量(原始字符串)

    1.1新类型 C++11新增类型long long和unsigned long long,以支持64位(或者更宽)整型:新增了char16_t和char32_t以支持16位和32为字符表示:还新增了原 ...

  6. 数据表示字面量整型字面量

    数据表示字面量整型字面量 编写程序,首先面对的是数据.在程序中,数据该如何表示出来?根据表示的方式不同,数据通常有两种表示方式:直观表示和指代表示.本章将详细讲解这两种表示方式本文选自明明白白学C#大 ...

  7. js之字面量、对象字面量的访问、关键字in的用法

    一:字面量含义 字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量. 字面量分为字符串字面量(string literal ).数组字面量(array literal) ...

  8. Blazor University (5)组件 — 字面量、表达式和指令

    原文链接:https://blazor-university.com/components/literals-expressions-and-directives/ 字面量.表达式和指令 源代码[1] ...

  9. ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区

    一.字面量的增强 ES6中对 对象字面量 进行了增强,称之为 Enhanced object literals(增强对象字面量). 字面量的增强主要包括下面几部分: 属性的简写:Property Sh ...

最新文章

  1. Go 学习笔记(7)— 常量定义、常量使用、枚举用法、iota 常量、不设置初始值常量
  2. 驰骋工作流引擎设计系列07 线性流程节点运动(发送)设计
  3. server2016 查看图片 预览图片
  4. 无法显示论坛的登陆验证码
  5. 快慢指针:141. 环形链表(判断是否存在环路)
  6. jQuery基础-事件
  7. Yolo系列知识点梳理(Yolov1-v5)
  8. 『飞鸽传书』WindowsPhone支持VS2010的开发工具出来了
  9. html getelementbyid 修改图片_如何使用HTML、CSS和JS轻松构建桌面应用程序
  10. Spring : Spring AOP源码解析
  11. 丽水数据可视化设计价格_B端产品设计数据可视化图表选择篇
  12. 机器学习之 特征工程
  13. 转 Oracle DBCA高级玩法:从模板选择、脚本调用到多租户
  14. 树莓派系统的安装、初步配置与远程访问
  15. 《C++ Primer Plus 6th》读书笔记 - 第十一章 使用类
  16. spring纯注解+libreoffice
  17. 数字通信系统的组成框图
  18. decent compiled words
  19. 堆的进化之旅5-Relaxed Heap松弛堆
  20. AWS申请邮件域名和ip绑定

热门文章

  1. 一道面试题:js返回函数, 函数名后带多个括号的用法及join()的注意事项
  2. PHP学习 文件操作函数的应用--简单网络留言模板
  3. 【数据结构】某些难理解点
  4. [linux内核][linux中断]——软中断机制
  5. 用vs2010打开使用vs2013升级后的WP工程
  6. MSSQL2005外网IP的1433端口开启方法
  7. css属性选择符的应用
  8. ORB-SLAM2 论文翻译
  9. yolov3(三:算法框架解析)
  10. 按下回车表示确定提交