首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏pandacode_cn

    Swift基础 不透明类型

    与返回类型为协议类型的值不同,不透明类型保留类型标识——编译器可以访问类型信息,但模块的客户端不能访问。 不透明类型解决的问题 例如,假设您正在编写一个绘制ASCII艺术形状的模块。 返回不透明类型 你可以把不透明类型想象成通用类型的反面。通用类型允许调用函数的代码为该函数的参数选择类型,并以从函数实现抽象出来的方式返回值。 不透明类型和协议类型之间的差异 返回不透明类型看起来与使用协议类型作为函数的返回类型非常相似,但这两种返回类型在是否保留类型标识方面有所不同。 相比之下,不透明类型保留了底层类型的身份。Swift可以推断关联类型,这允许您在协议类型不能用作返回值的地方使用不透明的返回值。 Int,这说明了类型推断适用于不透明类型的事实。

    49800编辑于 2023-07-17
  • 来自专栏Swift-开源分析

    if #available与不透明结果类型

    介绍SE-0360, Swift 5.7 已实现自 SE-0244 引入以来,不透明的结果类型已成为类型级抽象的强大工具,允许库作者隐藏其API的实现细节。 根据 SE-0244 中描述的规则,返回不透明结果类型的函数必须从每个返回语句中返回与T类型相同的值,并且T必须满足不透明类型上所述的所有约束。 当前模型和实现限制了不透明结果类型作为抽象机制的有用性,因为它阻止了框架引入新类型并将其用作现有API 的基础类型。为了弥补这一可用性差距,本篇提议建议在可用条件下放宽对返回的同类型限制。 提议的动机为了说明在不透明结果类型和可用性条件之间的交互问题,我们列举个框架例子,该框架下定义Shape协议,并且Square类型已经遵循该Shape协议,如下:protocol Shape { func 所有在给定的if #available子句内的return语句必须每次返回相同的类型,这种类型必须与子句的#available条件一样可用。并且这个类型不必与子句之外的其他任何返回类型相同。

    74250编辑于 2022-11-30
  • 来自专栏Swift-开源分析

    Swift5.7 扩展不透明类型(some)到泛型参数

    当某个参数类型内出现了一个不透明类型时,这个不透明类型会被没有名字的泛型参数代替。举个例子:func f(_ p: some P) { }与下面的例子是等价的。此时参数p表示一个遵循协议P的任何类型。 func f<_T: P>(_ p: _T) { }与不透明结果类型不同,调用方通过类型推断确定不透明参数类型的真实类型。 -> Void = f // ✅,推断不透明类型为 StringSE-0328 这篇提议是讲结构化的不透明结果类型,它扩展了不透明结果类型,允许在结果类型中的任何结构位置多次使用some P类型不透明结果类型不透明参数类型其实很相似,都是使用some 关键字来修饰,前者用在返回结果中,后者用在参数中。本质都是表达遵循同一协议类型的泛型类型。 函数类型的参数中使用不透明参数SE-0328 禁止在函数类型的参数中使用不透明参数。

    3.3K141编辑于 2022-07-03
  • 来自专栏Swift-开源分析

    Swift5.7 支持结构化不透明结果类型

    介绍当前提议主要是讲苹果在 Swift5.7 支持不透明结果类型的结构化表达,目前在 Swift5.7 已经实现。不透明结果类型可以用作函数的结果类型,变量的类型和下标元素的结果类型。 在这三种情况下,不透明结果类型必须是整个类型。比如用于函数的整个返回结果类型。本篇提议建议取消这种限制,并允许在“结构”位置使用不透明的结果类型。 所以我们应该允许在函数的结果类型、下标元素的类型和变量的类型,这三种类型的结构位置中使用不透明结果类型。详细设计实现可选语法不透明结果类型的可选必须使用(some P)? 高阶函数如果函数的结果类型、下标的结果类型和变量的类型是函数类型,那么该函数类型只能在返回位置包含结构不透明类型。 SE-0244 提议已经说明:不透明结果类型是函数的结果类型,变量类型,下标的元素类型,这三种类型的一部分。在不破坏API/ABI 稳定性的前提下,无法更改不透明结果类型的要求。

    87950编辑于 2022-07-04
  • 来自专栏CSharp编程大全

    WPF窗体透明控件不透明实例

    WindowChrome.ResizeBorderThickness> </WindowChrome> </Window.Resources> <Grid> </Grid> </Window> 具有透明背景且包含不透明控件的

    2.7K10发布于 2020-12-15
  • 来自专栏CNCF

    Linkerd 2.10将支持不透明端口

    在本文中,你将了解什么是协议检测,这个微妙的特性如何为Linkerd提供如此强大的功能,以及即将到来的不透明端口特性将给Linkerd带来什么。 什么是协议检测? Linkerd 2.10的不透明端口和改进的协议检测 为了解决跳过端口的缺陷,在即将发布的2.10版本中,Linkerd将添加不透明端口的概念(和相应的opaque-ports注释)。 一个不透明的端口仅仅是一个Linkerd将代理而不执行协议检测的端口。 虽然这种方法仍然需要配置,但将端口标记为不透明允许Linkerd应用mTLS并报告TCP级别的指标——这比完全跳过它有很大的改进。 ? 这意味着,不使用不透明端口(或跳过端口)注释服服务器说话优先协议端口的最坏情况是10秒的连接延迟,而不是连接失败。

    93840发布于 2021-03-15
  • 来自专栏TopFE

    CSS 使用rgba 设置背景色透明,内容不透明

    使用 css3的rgba(red, green, blue, alpha),alpha的取值从 0 到 1; 1为不透明 如rgba(255,255,255,0.8) 可以设置背景色透明,内容不透明 如一下 background: rgba(255,193,7, 1); 效果图 两者都没有透明 背景透明,内容不透明 两者都透明

    3.3K10编辑于 2022-01-24
  • 来自专栏猿说编程

    IOS – OpenGL ES 调节图像不透明度 GPUImageOpacityFilter

    GPUImageOpacityFilter 属于 GPUImage 颜色处理相关,用来处理图片不透明度,shader 源码如下: /*********************************** *********************/ //@Author:猿说编程 //@Blog(个人博客地址): www.codersrc.com //@File:IOS – OpenGL ES 调节图像不透明度 vec4(textureColor.rgb, textureColor.a * opacity); } ); #endif 二.效果演示 三.源码下载 下载地址:IOS – OpenGL ES 调节图像不透明

    95070编辑于 2023-03-19
  • 来自专栏拂晓风起

    IE6 PNG不透明问题 (只解决img标签的图片)

    要解决png在ie6下不透明的问题,百度一下一大堆。试过iepngfix那个~~但貌似不行,或者很麻烦。 我试用了一段js,果然有效~~~记录一下。这个最简单,对于不是用png做背景图的情况最好了。

    1.1K40发布于 2018-07-03
  • 来自专栏编程微刊

    css实现背景半透明文字不透明的效果

    图片.png <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> html{ background: #6a8db1; } .aside{ background-color:rgba(

    1.8K30发布于 2018-05-31
  • 来自专栏诸葛青云的专栏

    使用C语言中的“不透明”指针,可以隐藏很多不想公开的细节

    不过他同时也问了一个问题:C语言有“不透明指针(opaque pointer)”吗?要是有的话,什么样的指针才是不透明指针呢,有什么用呢? C语言的“不透明指针”有什么用? 从字面意思来看,“不透明”意味着看不到内部,因此“不透明指针”即看不到内部定义的指针。 这样说有些抽象,我们来看个例子: typedef struct pmpi_s *pmpi; 上面这行C语言代码使用 typedef 关键字定义了一个结构体指针类型 pmpi,结构体由 pmpi_s 指定 ,就像一个“不透明”的盒子一样。 就像一个“不透明”的盒子一样 到这里,相信读者已经明白什么是C语言中的“不透明指针”了,而且也能看出,所谓的“不透明指针”其实并不是什么新概念,它不过是为了便于描述特定类型指针,方便同行之间交流取的名字而已

    3.2K30发布于 2019-10-23
  • 来自专栏黑客下午茶

    Server-Speaks-First 有点坑,Linkerd 2.10 中的协议检测和不透明端口

    Linkerd 2.10 中的不透明端口和改进的协议检测 为了解决 skip-ports 的不足,在 2.10 版本中,Linkerd 将添加不透明端口(opaque ports)的概念(以及相应的 opaque-ports 不透明端口就是 Linkerd 将代理而不执行协议检测的端口。 虽然这种方法仍然需要配置,但将端口标记为不透明允许 Linkerd 应用 mTLS 并报告 TCP-level metrics —— 这比完全跳过它是一个很大的改进。

    69420发布于 2021-08-26
  • 来自专栏Eureka的技术时光轴

    div css背景颜色半透明 文字不透明兼容ie、火狐等浏览器

    IE:外层filter,内层position:relative或absolute。

    1.5K20发布于 2019-07-24
  • 来自专栏网络技术联盟站

    TypeScript 中的基础类型:原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型

    TypeScript 强大的类型系统使得开发者能够更轻松地编写可维护、可扩展的代码。本文将详细介绍 TypeScript 中的基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型。 可以使用 [类型1, 类型2, ...] 的语法来声明元组类型。 联合类型联合类型用于表示一个变量可以是多种类型之一。可以使用 类型1 | 类型2 | ... 的语法来声明联合类型类型断言有两种语法形式,<类型>值 和 值 as 类型。 总结本文详细介绍了 TypeScript 的基础类型,包括原始类型、对象类型、数组类型、元组类型、枚举类型和联合类型等方面。

    3.5K30编辑于 2023-07-06
  • byte类型, string 类型, json 类型

    byte类型通常用于存储和操作二进制数据,例如网络通信、文件读写等场景。byte类型的特点arduino byte类型的值范围为0到255,可以表示256个不同的数值。 byte类型在内存中占用1个字节的空间。byte类型是无符号的,不能表示负数。byte类型的用法在Go语言中,我们可以使用byte类型来操作二进制数据。 常见的用法包括:字符串与byte类型的转换通过[]byte类型的切片可以将字符串转换为byte类型的数据。使用string()函数可以将byte类型的数据转换为字符串。 和其他类型之间的转换可以使用byte()函数将其他类型的数据转换为byte类型,也可以使用int()函数将byte类型的数据转换为整数。 json 类型是什么, json 类型和 byte 类型的区别json.Marshal()函数函数接受一个interface{}类型的参数v,并返回一个[]byte类型的字节切片和一个error类型的错误

    36610编辑于 2025-06-12
  • 来自专栏韩曙亮的移动开发专栏

    【OpenHarmony】TypeScript 语法 ② ( 基础数据类型 | 布尔类型 | 数字类型 | 字符串类型 | 数组类型 | 元组类型 | 枚举类型 | 未知类型 | 联合类型 )

    一、基础数据类型 TypeScript 是 JavaScript 的超集 , TypeScript 的基础数据类型 与 JavaScript 的基础数据类型 基本相同 , 下面开始介绍 TypeScript 中的基础数据类型 ; 1、布尔类型 TypeScript 中的 布尔值类型 使用 " boolean " 表示 , 取值 true 或 false ; 代码示例 : // 声明 布尔类型 变量 let TypeScript 中的 数组类型 有两种表示方法 : 使用 数据类型后加上 [] 表示数组类型 , 如 : string[] 字符串数组类型 ; 使用 Array<数据类型> 表示数组类型 , TypeScript 中的 元组类型 可用于描述 已知 元素数量 和 元素类型 的数组 , 数组 中的元素类型可以不同 ; 代码示例 : // 元组类型 // 为元组赋值时 , 元素的数量和种类必须与声明的类型一一对应 TypeScript 中的 undefined 类型 表示一个未定义类型 , 声明了变量 没有定义其类型 也 没有为其赋值 , 默认就是该类型 ; 代码示例 : // undefined 类型 let

    1K10编辑于 2024-06-02
  • 来自专栏JavaEdge

    什么是强类型、弱类型、动态类型、静态类型语言

    类型语言 强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就死该数据类型。 强类型语言包括:Java、.net、Python、C++等语言。 其中Python是动态语言,是强类型定义语言,是类型安全的语言,Java是静态语言,是强类型定义语言,也是类型安全的语言。 强类型接口设计 使用 feigh 设计强类型接口 ? ? 弱类型语言 弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动。弱类型语言包括:VB,PHP,JavaScript等语言。其中VBScript是动态语言,是一种类型不安全的原因。 int类型,所以sum为5-5=0; 优缺点 强类型语言和弱类型原因其判断的根本是是否会隐形进行语言类型转变。 动态类型语言 动态性语言是指在运行期间才去做数据类型检查的语言,也就是说动态类型语言编程时,永远不用给任何变量指定数据类型,该语言会在第一次赋值给变量时,在内部将数据类型记录下来。

    8.6K30发布于 2021-02-22
  • 来自专栏WebJ2EE

    JS:类型类型转换

    有不少人认为:JavaScript 没有类型! ? ? 正解是:JavaScript 中的变量没有类型,但值有类型。变量可以随时持有任何类型的值。 1. 值与类型 ? 使用 typeof 运算符即可查看值的类型。 ? 特别注意:typeof null == "object",这已被设计和维护 JavaScript 的委员会 T39 认定是一个错误。 类型转换基本规则 ? 在很多 JavaScript 书籍中强制类型转换被说成是危险、晦涩和糟糕的设计。但对于不懂的地方我们应该迎难而上,知其然并且知其所以然,不会因为种种传言就退避三舍。 ? ? 字符串、数字和布尔值之间类型转换的基本规则; a. ToBoolean: ? 图1:toBoolean 示例 ? b. ToString: ? 图2:toString 示例 ? b. “显式”强制类型转换 “显式” 是指那些意图较明显的方式... a. 转换为 Boolean: Boolean(...)(不带 new); !

    9.3K40发布于 2019-07-19
  • 来自专栏C/C++基础

    Go 类型转换、类型断言与类型选择

    文章目录 1.类型转换 2.类型断言 3.类型选择 参考文献 Go 是一种静态类型的编译型语言,每一个变量在使用时都有明确的类型与之对应。 Go 中,关于数据类型,主要有三点容易让人迷惑,分别是类型转换、类型断言和类型选择,下面分别讲解,并给出相应示例。 1.类型转换 Go 中不同类型变量间进行赋值是不允许的,即编译时会出现编译错误。 Go 语言崇尚“显式表达,避免隐含”的设计思想,不允许隐式类型转换,因此相互兼容的不同类型间的赋值需要开发人员进行类型转换操作。 2.类型断言 在处理由外部传入的数据时,想要创建一个通用函数在进行面向对象编程时,我们需要使用 interface{} 类型,即空接口类型。 我们可以使用类型断言将一个 interface{} 类型的值转换为实际数据的值,即类型断言接受一个接口值, 并从中提取指定的明确类型的值。

    2K20编辑于 2022-05-09
  • 来自专栏chenchenchen

    MySQL中数字类型、数值类型、时间类型

    本文链接:https://blog.csdn.net/weixin_38004638/article/details/96135519 一、数字类型 类型 范围 说明 Char( (1,0) habby set(‘玩电玩’,'睡觉’,'看电影’,'听音乐’) Set 集合最大数目为64 辨別Null与Not Null :Null为允许储存空值(Null) 二、数值 类型 比如定义一个age字段,其数据类型为int(4),那用select查询出来的结果是“0002”。 三、日期时间 类型 范围 说明 Date 日期(yyyy-mm-dd) Time 时间(hh:mm:ss) DateTime 日期与时间組合(yyyy-mm-dd hh:mm:

    3.9K20发布于 2019-09-02
领券