Skip to content

Latest commit

 

History

History
197 lines (125 loc) · 6.15 KB

File metadata and controls

197 lines (125 loc) · 6.15 KB

Swift 基本输入和输出

原文: https://www.programiz.com/swift-programming/basic-input-output

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

Swift 基本输出

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

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

  • item要在控制台中打印的项目。 它可以接受多个项目。
  • separator在每个项目之间打印的字符串。 默认值为单个空格(" ")
  • terminator在打印所有项目之后要打印的字符串。 默认值为换行符("\n")

由于最后两个参数(separatorterminator)已指定了默认值,因此在调用打印函数时不必强制使用它们。


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

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

运行该程序时,输出为:

Hello, World!
I love Swift. 

在上述程序中,print("Hello, World!")输出字符串字面值"Hello, World!"

您可以看到,在打印"I love Swift."时,它还会更改行(添加换行符)。因为打印方法的参数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:使用单次打印函数打印多个项目

您还可以在单​​个打印语句中打印多个项目,并在这些项目之间添加separator,如下所示:

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

运行该程序时,输出为:

Hello, World!. 2020\. See you soon

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

要打印的项目是字符串"Hello, World!",整数 2020 和字符串"See you soon"

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


示例 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 游乐场上进行输入。

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

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

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

print("Please Enter your favorite programming language", terminator: ".")
let name = readLine()
print("Your favorite programming language is \(name!).") 

运行该程序时,输出为:

Please Enter your favorite programming language.
Swift
Your favorite programming language is Swift. 

在上述程序中,print函数输出Please Enter your favorite programming language.。 语句let name = readLine()在调试区域中等待用户输入。

如果键入"Swift"并按Enter,则readLine函数将该字符串分配给常量name,并将输出显示为Your favorite programming language is Swift.

由于readLine函数返回一个可选字符串,因此我们已强制将常量解压缩为print("Your favorite programming language is \(name!)")语句中的name

您将在文章中了解有关可选的更多信息: Swift 可选的