为了用图形化方式描述许多开发人员在Swift上的简单指令所面对的问题, 我们将分析以下代码, 你将需要猜测输出:
print(1)print(2)print(3)
作为根本不与Swift语言有任何联系的开发人员, 可能会简单地认为print函数等效于echo函数(来自PHP)或printf函数(来自C语言), 因此猜测的输出应为:
123
但是, Swift不遵守规则, 因为他是个坏蛋, 会按照自己的意愿去做, 而是会打印:
123
在本文中, 我们将简要解释为什么会发生这种情况以及如何在你的代码中防止这种行为。
在同一行上打印内容 从Swift 3开始, print方法的文档如下:
public func print<
Target>
(_ items: Any..., separator: String = default, terminator: String = default, to output: inout Target) where Target : TextOutputStream
默认情况下, 每次使用该功能时, 打印功能都会在一行上将给定项目的文本表示写到标准输出中。可以很容易地覆盖此行为, 将终止符参数定义为空字符串:
文章图片
【如何在Swift中使用打印功能在没有换行的情况下将内容打印到控制台】不是那个终结符, 而是终结符:print方法的String参数。例如, 要固定初始示例的预期输出, 我们可以将参数更改为空字符串:
print(1, terminator:"")print(2, terminator:"")print(3, terminator:"")
并且我们的代码输出将(如任何开发人员所期望的那样):
123
编码愉快!
推荐阅读
- 如何使用Microsoft SQL Server Management Studio 17将MS SQL Server数据库导出到SQL脚本(数据库到sql文件)
- 如何用C语言打印带有星号或自定义字符的菱形图案
- 如何在C语言中用星号或自定义字符打印方形图案
- 如何在C中打印弗洛伊德三角形
- B / w黑白设置。全局,设置。系统和设置。在Android中安全
- Android权限gven仅从最低sdk版本开始
- Android权限ACCESS_FINE_LOCATION始终被拒绝
- 在Android上拒绝权限“ACCESS”的问题
- 有没有办法了解Android中运行时前端的应用程序是什么()