编辑这个页面须要登录或更高权限!

Swift 输入和输出

在本文中,您将学习在Swift中显示输出和获取输入的不同方法。

Swift 基本输出

您可以简单地使用print( items: Any..., separator: String = default, terminator: String = default)函数将输出发送到标准输出(屏幕)。请参考文章了解Swift中的函数

函数print(items,separator,terminator:)接受三个参数。

  • items:要在控制台中打印的项目。它可以接受多个项目。

  • separator:每个项目之间要打印的字符串。默认为单个空格(" ")。

  • terminator: 在打印所有项目之后要打印的字符串。默认值为换行符("\n")。

由于最后两个参数(separator,terminator)已指定默认值,所以在调用print函数时不必强制使用它们。

示例1:使用简单的print()函数打印到屏幕

print("Hello, World!")
print("I love Swift.")

运行该程序时,输出为:

Hello, World!
I love Swift.

在以上程序中,print("Hello, World!")输出字符串文字Hello,World!。在控制台中。

您可以看到在打印“I love Swift.”时,它还会更改行(添加换行符)因为print方法的参数terminator具有默认值\n(换行)。

因此,语句print("I love Swift.")在新行中输出消息。

示例2:打印常量,变量和字面量

var helloMsg = "Hello, World!"
print(helloMsg)
print(123.45)

运行该程序时,输出为:

Hello, World!
123.45

您可以通过直接在打印函数中添加变量或常量名称来打印变量或常量的值。在上面的程序中print(helloMsg)输出变量 helloMsg 的值Hello,World!

您还可以在print语句中插入字面量。在语句中print(123.45),它采用123.45不带双引号的浮点字面量,并进行打印。

示例3:使用终止符参数进行打印而没有链接中断

如果要打印输出,并且没有换行符,则需要在print函数的终止符参数中传递一个空字符串,如下所示:

print("Hello, World!", terminator: "")
print("I love Swift.")
print("I also love Taylor Swift.")

运行该程序时,输出为:

Hello, World!I love Swift.
I also love Taylor Swift.

在上面的程序中,terminator是打印完所有项目后打印的字符串。

我们传递了一个空字符串作为终止符(默认为换行符\n)。因此,打印第一条语句时不会添加新行,并且语句print("I love Swift.")在同一行中显示消息。

由于print("I love Swift.")函数添加了换行符,因此语句print("I also love Taylor Swift")在新行中输出。

示例4:使用单个打印函数打印多个项目

您还可以在一个打印语句中打印多个项目,并在这些项目之间添加分隔符:

print("Hello, World!", 2020, "See you soon", separator: ". ")

运行该程序时,输出为:

Hello, World!. 2020. See you soon

在上面的程序中,我们在打印语句中添加了不同的数据类型,并用逗号分隔。

要打印的项目是字符串 Hello, World!. 2020. See you soon

我们还在参数中传递了分隔符为"."。这将在每个项目之间插入分隔符(.)。这样您就可以看到输出的结果,以 . 分隔字符,并且后跟一个空格。

示例5:打印多行

如果要使用单个打印语句多行打印,则可以在打印语句中使用称为回车的转义序列 \r,如下所示:

print("Hello, \rWorld!")

运行该程序时,输出为:

Hello, 
World!

示例6:使用三引号打印多行

在Swift中,有一种更好的方法可以在单个print语句中输出多行消息。您必须使用多行字符串字面量。这是通过在多行字符串文字中使用三引号将字符添加为

print("""
Hello,
World!
""")

运行该程序时,输出为:

Hello,
World!

示例7:使用字符串插值打印变量

您还可以通过使用字符串插值将变量或常量的值添加到字符串文字中,即将变量包装在一对括号中,并以反斜杠(\)为前缀。

var helloMsg = "Hello, World!"
print("I have a message \(helloMsg)")

运行该程序时,输出为:

I have a message Hello, World!

语句print("I have a message \(helloMsg)") 通过将变量 helloMsg 的值包装为\(helloMsg) 字符串字面量来插入变量的值。因此,该语句输出“I have a message Hello, World!”到屏幕上。

Swift 基本输入

如果要在Swift中从用户那里获取输入,则必须在不使用UIKit框架的情况下才能在Xcode Playground中进行输入。

但是,使用Swift框架,您可以在Xcode中创建一个命令行应用程序,以从用户那里获取输入。

这是您可以用来获取用户输入的代码。

示例8:使用readLine()从用户那里获取输入

print("请输入您最喜欢的编程语言", terminator: ".")
let name = readLine()
print("您最喜欢的编程语言是 \(name!).")

运行该程序时,输出为:

请输入您最喜欢的编程语言.
Swift
您最喜欢的编程语言是 Swift.

在上述程序中,打印函数输出请输入您喜欢的编程语言。在调试区域。语句 let name = readLine() 等待用户在调试区域中输入。

如果键入“ Swift”并按Enter,则readLine函数会将字符串分配给常量 name 并将其显示为 您最喜欢的编程语言是Swift。

由于 readLine 函数返回一个可选字符串,因此我们像 name! 声明中一样强行解开了常量print("Your favorite programming language is \(name!)")。

由于readLine函数返回一个可选字符串,因此在语句print(“您最喜欢的编程语言是\(name!)”)中,我们强制将常量解包为 name!

您将在文章Swift Optionals中了解更多有关optionals的信息。