在试验Swift的时候,我发现了许多有用的方法和函数,它们都以下划线为前缀。例如,字符串有一个隐藏的_split()
方法。由于某些原因,功能_sin()
和_cos()
(但不是_tan
或_sqrt
)也可以默认使用。实际上,当我输入sin(2.0)
时,REPL实际上建议我使用这些功能。我不会导入Foundation
或任何导入Foundation
的东西。Swift下划线方法和函数做什么?
为什么Swift会提供这些“隐藏”功能,特别是我希望成为数学模块而不是内置函数的trig函数。
我*假设*是'_sin'和'_cos'请参阅 “LLVM内部函数”,见 “UnaryIntrinsicFunctions” 在https://github.com/apple/swift/blob/ master/stdlib/public/core/BuiltinMath.swift.gyb和http://llvm.org/docs/LangRef.html#intrinsic-functions。 - '_split'在https://github.com/apple/swift/blob/master/stdlib/public/core/StringLegacy.swift中定义。 –
您将在苹果平台上使用'import Darwin'获取全套三角函数,在Linux上使用'import Glibc'。 –