Swift readLine(),Swift print()
在本教程中,我们将讨论如何从用户那里读取Swift中的标准输入,以及将输出打印到屏幕上的不同方法。
Swift print()是在屏幕上显示输出的标准函数。
让我们开始使用XCode创建一个新的命令行应用程序项目。
Swift输入
在Swift中,标准输入在Playgrounds中是不可能的。
出于明显的原因,iOS应用程序中都没有。
命令行应用程序是从用户读取输入的可能方法。
readLine()用于读取用户的输入。
它有两种形式:
readLine()
:默认方式。readLine(strippingNewLine:Bool):默认设置为true。
Swift始终假定换行符不是输入的一部分
readLine()函数默认总是返回一个可选的字符串。
在您的main.swift
文件中添加以下行。
let str = readLine() //assume you enter your Name print(str) //prints Optional(name)
要打开可选的包装,我们可以使用以下代码:
if let str = readLine(){ print(str) }
读取Int或者Float
要将输入读取为Int或者Float,我们需要将返回的String从输入转换为其中之一。
if let input = readLine() { if let int = Int(input) { print("Entered input is \(int) of the type:\(type(of: int))") } else{ print("Entered input is \(input) of the type:\(type(of: input))") } }
对于Float,将Int初始化程序替换为Float。
读取多个输入
以下代码读取多个输入,还检查是否重复了任何输入。
while let input = readLine() { guard input != "quit" else { break } if !inputArray.contains(input) { inputArray.append(input) print("You entered: \(input)") } else { print("Negative. \"\(input)\" already exits") } print() print("Enter a word:") }
当输入特定字符串时,guard let
语句用于退出循环。print()
照常将输出打印到屏幕上。
在数组中检查当前输入,如果不存在则将其添加。
下面给出了在Xcode的命令行上运行时上述代码的示例结果。
读取由空格分隔的输入
以下代码以空格分隔的数组形式读取输入。
let array = readLine()? .split {var arr = [[Int]]() for _ in 0...4 { var aux = [Int]() readLine()?.split(separator: " ").map({ if let x = Int(== " "} .map (String.init) if let stringArray = array { print(stringArray) }print(1...5) ////Prints "1...5" print(1.0, 2.0, 3.0, 4.0, 5.0) //1.0 2.0 3.0 4.0 5.0 print("1","2","3", separator: ":") //1:2:3 for n in 1...5 { print(n, terminator: "|") } //prints : 1|2|3|4|5|) { aux.append(x) } else{ print("Invalid") } }) arr.append(aux) } print(arr)
split函数充当空格的分隔符。
它将输入除以空格,并将每个映射为String。
最后,它们以数组的形式加入。
读取2D阵列
以下代码读取2D数组
var value = 10 print("Value is \(value)") //Value is 10
在上面的代码中,我们可以在一个数组内创建4个子数组。
如果在任何阶段我们按Enter键而不在行中输入任何内容,它将被视为一个空子数组。
Swift print()
我们经常在标准输出中使用print()
语句。
打印功能实际上如下所示:
print(_:separator:terminator:)
默认情况下,print()
语句后跟一个默认的换行符
终止符在每个打印语句的末尾添加。
分隔符在输出值之间相加。
将字符串与值连接起来我们使用(value_goes_here)在字符串中添加值。
##代码##