Swift 代码格式化器
指导
Swift 代码格式化器
粘贴您的 Swift 源代码,并立即使用 swift-format 风格规则重新格式化。该工具会规范化缩进、大括号位置、运算符间距、返回类型箭头、可选值处理以及尾随逗号——全部在您的浏览器中完成,无需上传。
专为 iOS、macOS、watchOS 和 tvOS 开发者设计,他们需要一个确定性、基于规则的格式化工具,用于代码审查、代码片段、博客文章以及一次性调整,而无需在本地运行。 swift-format 本地运行不现实的情况。
如何使用
- 将您的 Swift 源代码粘贴到输入区域,或点击 尝试一个示例 加载示例。
- 选择缩进大小(2 个空格、4 个空格或制表符)以及最大行宽。
- 切换 按字母顺序排序导入, 在多行列表中添加尾随逗号,并且 移除多余的分号 根据需要。
- 点击 格式 以应用规则。重新格式化的代码会带有语法高亮显示。
- 使用 复制 或 下载 按钮以获取格式化输出。
特征
- 可配置的缩进 – 2 个空格,4 个空格(swift-format 默认值),或制表符。
- 大括号和空行规范化 – 采用 K&R 风格,大括号与声明在同一行;将三个或更多连续的空行合并。
- 操作符间距 – 保持运算符周围一致的间距
=, 比较运算符,&&,||,??, 以及闭包/返回类型箭头->. - 导入排序 – 按字母顺序排列声明,包括
import和访问修饰符导入。@testable import– 可选地为多行参数列表和数组字面量的最后一个元素添加尾随逗号。 - 尾随逗号 分号移除
- – 移除 Swift 不需要的多余尾随分号。 字符串与注释安全
- – 字符串字面量(包括多行字符串)和注释将原样保留。 – 在顶层声明之间插入一个空行,例如
"""..."""– 一键复制或保存为 - 顶层间距 客户端端
struct,class,protocol,extension,enum,actor,并且func. - 复制和下载 – 代码不会离开您的浏览器。
.swift. - 什么是 swift-format 以及为什么一致的格式化很重要? swift-format 是 Apple 提供的 Swift 源代码格式化工具,随 Swift 工具链一同分发。它应用一组固定的格式规则——4 个空格缩进、大括号位置、运算符间距、行长度限制和尾随逗号政策——确保项目中每个文件的格式一致,无论由谁编写。一致的格式化减少了代码审查时的认知负担,避免了差异中的风格变化,并让评审者能够专注于逻辑而非空白字符。
常问问题
-
Swift 的空值合并运算符与 Kotlin 的 Elvis 运算符有何不同?
两者在左操作数为 nil/null 时都会返回默认值,但它们处理的类型不同。Swift 的
-
仅适用于
值,并返回解包后的非可选值,因此
??需要?:为类型??。Kotlin 的Optional<T>适用于任何可空表达式,更接近于一个通用的“如果非空则左,否则右”运算符。两者都遵循周围空格的约定,本格式化工具会自动应用这些约定。name ?? "Anon"Swift 为何使用尾随闭包,格式化如何影响它们?nameSwift 允许函数的最后一个闭包参数写在括号之外,这使得像String?这样的高阶调用看起来像控制流语句。格式化工具需要将闭包的左大括号保持在调用行上,并在右括号(或函数名,当括号省略时)与大括号之间保留一个空格。格式错误可能会将一行代码拆分为不自然的多行块;本工具通过强制执行?:间距规则和大括号前的单个空格来保留尾随闭包的风格。 -
Swift 中值类型与引用类型有何区别?
Swift 在值类型——
array.map { $0 * 2 }——和引用类型——) {之间划出明确界限。值类型在赋值和每次函数调用时都会被复制,这使得它们在多线程共享时更安全,也更容易推理,因为所有修改都是局部的。引用类型通过指针共享身份,因此所有引用都指向同一个底层实例。无论是值类型还是引用类型的顶层声明,通常都会用一个空行分隔以增强可读性——本格式化工具会自动应用此规则。 -
在此粘贴您的 Swift 代码...
使用 swift-format 风格规则格式化 Swift 代码
struct且enumSwift 代码格式化器 1class且actorSwift 代码格式化器
