Swift readLine(),Swift print()

时间:2020-02-23 14:44:03  来源:igfitidea点击:

在本教程中,我们将讨论如何从用户那里读取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(
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)
== " "} .map (String.init) if let stringArray = array { print(stringArray) }

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)在字符串中添加值。

##代码##