Swift 字面量表达
字面量是一个很强大的特性,对于缩短代码很有帮助
// // 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 字面量表达相关推荐
- php字面量,Swift 字面量
所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值.比如在下面:let aNumber = 3 //整型字面量 let aStri ...
- swift_012(Swift 的字面量)
//***********swift学习之12--字面量--*************************** // 字面量:所谓字面量就是指像特定的数字,字符串或者是布尔值这样能够直接了当地指出 ...
- JS:关于JS字面量及其容易忽略的12个小问题
简要 问题1:不能使用typeof判断一个null对象的数据类型 问题2:用双等号判断两个一样的变量,可能返回false 问题3:对于非十进制,如果超出了数值范围,则会报错 问题4:JS浮点数并不精确 ...
- c语言字面量的作用是为变量,C语言 字面量
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation). 几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数.浮点数以及字符串: 而有很多也对布尔类 ...
- C++——新类型与原始字面量(原始字符串)
1.1新类型 C++11新增类型long long和unsigned long long,以支持64位(或者更宽)整型:新增了char16_t和char32_t以支持16位和32为字符表示:还新增了原 ...
- 数据表示字面量整型字面量
数据表示字面量整型字面量 编写程序,首先面对的是数据.在程序中,数据该如何表示出来?根据表示的方式不同,数据通常有两种表示方式:直观表示和指代表示.本章将详细讲解这两种表示方式本文选自明明白白学C#大 ...
- js之字面量、对象字面量的访问、关键字in的用法
一:字面量含义 字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量. 字面量分为字符串字面量(string literal ).数组字面量(array literal) ...
- Blazor University (5)组件 — 字面量、表达式和指令
原文链接:https://blazor-university.com/components/literals-expressions-and-directives/ 字面量.表达式和指令 源代码[1] ...
- ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区
一.字面量的增强 ES6中对 对象字面量 进行了增强,称之为 Enhanced object literals(增强对象字面量). 字面量的增强主要包括下面几部分: 属性的简写:Property Sh ...
最新文章
- Go 学习笔记(7)— 常量定义、常量使用、枚举用法、iota 常量、不设置初始值常量
- 驰骋工作流引擎设计系列07 线性流程节点运动(发送)设计
- server2016 查看图片 预览图片
- 无法显示论坛的登陆验证码
- 快慢指针:141. 环形链表(判断是否存在环路)
- jQuery基础-事件
- Yolo系列知识点梳理(Yolov1-v5)
- 『飞鸽传书』WindowsPhone支持VS2010的开发工具出来了
- html getelementbyid 修改图片_如何使用HTML、CSS和JS轻松构建桌面应用程序
- Spring : Spring AOP源码解析
- 丽水数据可视化设计价格_B端产品设计数据可视化图表选择篇
- 机器学习之 特征工程
- 转 Oracle DBCA高级玩法:从模板选择、脚本调用到多租户
- 树莓派系统的安装、初步配置与远程访问
- 《C++ Primer Plus 6th》读书笔记 - 第十一章 使用类
- spring纯注解+libreoffice
- 数字通信系统的组成框图
- decent compiled words
- 堆的进化之旅5-Relaxed Heap松弛堆
- AWS申请邮件域名和ip绑定