swift - Swift:尝试阅读 swift 源代码
问题描述
我对编码还很陌生,但我经常遇到问题,因为我缺乏知识。我想通过阅读 swift 的源代码来自学,但我要么不知道如何阅读,要么不知道如何访问它。
简单的例子:我想知道更多关于 - 比如说整数。因此,我输入 Int 并命令单击按钮以“跳转到 [其] 定义”。在那里我发现以下内容:
public struct Int : FixedWidthInteger, SignedInteger {
..
public typealias IntegerLiteralType = Int
..
public init(bitPattern x: UInt)
..
public static func *= (lhs: inout Int, rhs: Int)
...
其中一些方法和函数对我来说非常有意义,但很多,就像后者一样,缺乏函数体。
所以我的问题是:如何访问例如public static func *= (lhs: inout Int, rhs: Int)的定义,或者如果那一行实际上是整个定义,我在哪里可以学习如何正确阅读它?
解决方案
Swift 是一种开源语言,这意味着它的所有实现都可以免费供您在Github上浏览。
不幸的是,你选择了一个非常棘手的开始。Swift 中有许多整数类型,为了管理这些整数类型中某些方法的几乎相同实现所附带的所有样板文件,Swift 使用了一个名为gyb
(生成你的样板文件)的工具。然而,可以在stdlib/public/core/Integers.swift.gyb中找到实现。
推荐阅读
- security - 如何在创建后向帐户添加密钥,例如多重签名合约,使用近壳、近 repl 或近 api-js?
- linux - Docker daemon 不断写入磁盘并导致 shell 命令运行缓慢
- powershell - Powershell:在条形图上放置第二个 X 轴
- javascript - 如何使用 Office.js 从 Excel 中的多个 NamedItem 获取格式?
- oracle - 如何将批量逗号分隔值作为参数传递给 Oracle 存储过程?
- javascript - 在 Javascript 中覆盖数组值
- css - 如何在插入阴影框后删除边框
- ruby-on-rails - 如何通过 GoogleAuth 进行身份验证而不将凭据存储在文件中
- linux - 如何递归地列出具有完整路径、大小、上次访问日期和上次修改日期的文件?
- .net - NLog 从文件和代码加载配置