在本文中,您將學(xué)習(xí)在Swift中顯示輸出和獲取輸入的不同方法。
您可以簡(jiǎn)單地使用print( items: Any..., separator: String = default, terminator: String = default)函數(shù)將輸出發(fā)送到標(biāo)準(zhǔn)輸出(屏幕)。請(qǐng)參考文章了解Swift中的函數(shù)。
函數(shù)print(items,separator,terminator:)接受三個(gè)參數(shù)。
items:要在控制臺(tái)中打印的項(xiàng)目。它可以接受多個(gè)項(xiàng)目。
separator:每個(gè)項(xiàng)目之間要打印的字符串。默認(rèn)為單個(gè)空格(" ")。
terminator: 在打印所有項(xiàng)目之后要打印的字符串。默認(rèn)值為換行符("\n")。
由于最后兩個(gè)參數(shù)(separator,terminator)已指定默認(rèn)值,所以在調(diào)用print函數(shù)時(shí)不必強(qiáng)制使用它們。
print("Hello, World!") print("I love Swift.")
運(yùn)行該程序時(shí),輸出為:
Hello, World! I love Swift.
在以上程序中,print("Hello, World!")輸出字符串文字Hello,World!。在控制臺(tái)中。
您可以看到在打印“I love Swift.”時(shí),它還會(huì)更改行(添加換行符)。因?yàn)閜rint方法的參數(shù)terminator具有默認(rèn)值\n(換行)。
因此,語(yǔ)句print("I love Swift.")在新行中輸出消息。
var helloMsg = "Hello, World!" print(helloMsg) print(123.45)
運(yùn)行該程序時(shí),輸出為:
Hello, World! 123.45
您可以通過(guò)直接在打印函數(shù)中添加變量或常量名稱來(lái)打印變量或常量的值。在上面的程序中print(helloMsg)輸出變量 helloMsg 的值Hello,World!。
您還可以在print語(yǔ)句中插入字面量。在語(yǔ)句中print(123.45),它采用123.45不帶雙引號(hào)的浮點(diǎn)字面量,并進(jìn)行打印。
如果要打印輸出,并且沒(méi)有換行符,則需要在print函數(shù)的終止符參數(shù)中傳遞一個(gè)空字符串,如下所示:
print("Hello, World!", terminator: "") print("I love Swift.") print("I also love Taylor Swift.")
運(yùn)行該程序時(shí),輸出為:
Hello, World!I love Swift. I also love Taylor Swift.
在上面的程序中,terminator是打印完所有項(xiàng)目后打印的字符串。
我們傳遞了一個(gè)空字符串作為終止符(默認(rèn)為換行符\n)。因此,打印第一條語(yǔ)句時(shí)不會(huì)添加新行,并且語(yǔ)句print("I love Swift.")在同一行中顯示消息。
由于print("I love Swift.")函數(shù)添加了換行符,因此語(yǔ)句print("I also love Taylor Swift")在新行中輸出。
您還可以在一個(gè)打印語(yǔ)句中打印多個(gè)項(xiàng)目,并在這些項(xiàng)目之間添加分隔符:
print("Hello, World!", 2020, "See you soon", separator: ". ")
運(yùn)行該程序時(shí),輸出為:
Hello, World!. 2020. See you soon
在上面的程序中,我們?cè)诖蛴≌Z(yǔ)句中添加了不同的數(shù)據(jù)類型,并用逗號(hào)分隔。
要打印的項(xiàng)目是字符串 Hello, World!. 2020. See you soon。
我們還在參數(shù)中傳遞了分隔符為"."。這將在每個(gè)項(xiàng)目之間插入分隔符(.)。這樣您就可以看到輸出的結(jié)果,以 . 分隔字符,并且后跟一個(gè)空格。
如果要使用單個(gè)打印語(yǔ)句多行打印,則可以在打印語(yǔ)句中使用稱為回車(chē)的轉(zhuǎn)義序列 \r,如下所示:
print("Hello, \rWorld!")
運(yùn)行該程序時(shí),輸出為:
Hello, World!
在Swift中,有一種更好的方法可以在單個(gè)print語(yǔ)句中輸出多行消息。您必須使用多行字符串字面量。這是通過(guò)在多行字符串文字中使用三引號(hào)將字符添加為
print(""" Hello, World! """)
運(yùn)行該程序時(shí),輸出為:
Hello, World!
您還可以通過(guò)使用字符串插值將變量或常量的值添加到字符串文字中,即將變量包裝在一對(duì)括號(hào)中,并以反斜杠(\)為前綴。
var helloMsg = "Hello, World!" print("I have a message \(helloMsg)")
運(yùn)行該程序時(shí),輸出為:
I have a message Hello, World!
語(yǔ)句print("I have a message \(helloMsg)") 通過(guò)將變量 helloMsg 的值包裝為\(helloMsg) 字符串字面量來(lái)插入變量的值。因此,該語(yǔ)句輸出“I have a message Hello, World!”到屏幕上。
如果要在Swift中從用戶那里獲取輸入,則必須在不使用UIKit框架的情況下才能在Xcode Playground中進(jìn)行輸入。
但是,使用Swift框架,您可以在Xcode中創(chuàng)建一個(gè)命令行應(yīng)用程序,以從用戶那里獲取輸入。
這是您可以用來(lái)獲取用戶輸入的代碼。
print("請(qǐng)輸入您最喜歡的編程語(yǔ)言", terminator: ".") let name = readLine() print("您最喜歡的編程語(yǔ)言是 \(name!).")
運(yùn)行該程序時(shí),輸出為:
請(qǐng)輸入您最喜歡的編程語(yǔ)言. Swift 您最喜歡的編程語(yǔ)言是 Swift.
在上述程序中,打印函數(shù)輸出請(qǐng)輸入您喜歡的編程語(yǔ)言。在調(diào)試區(qū)域。語(yǔ)句 let name = readLine() 等待用戶在調(diào)試區(qū)域中輸入。
如果鍵入“ Swift”并按Enter,則readLine函數(shù)會(huì)將字符串分配給常量 name 并將其顯示為 您最喜歡的編程語(yǔ)言是Swift。
由于 readLine 函數(shù)返回一個(gè)可選字符串,因此我們像 name! 聲明中一樣強(qiáng)行解開(kāi)了常量print("Your favorite programming language is \(name!)")。
由于readLine函數(shù)返回一個(gè)可選字符串,因此在語(yǔ)句print(“您最喜歡的編程語(yǔ)言是\(name!)”)中,我們強(qiáng)制將常量解包為 name!
您將在文章Swift Optionals中了解更多有關(guān)optionals的信息。