Swift字符串插值打印之间的区别

时间:2019-03-12 11:59:33

标签: ios swift

在进行字符串插值时,我是iOS开发的新手。我想知道这些打印语句输出之间的说明:

var value = "5"
print("Values is: \(value)")
print("Values is:", value)
print("Values is: " + value)

Output is : Values is: 5
Values is: 5
Values is: 5

3 个答案:

答案 0 :(得分:2)

实际上,所有三种形式都做同一件事。

区别是

  1. 字符串插值语法。您可以将所有内容放在响应CustomStringConvertible协议的内括号中。
  2. 可变参数参数语法。 print被声明为func print(_ items: Any...,Any...表示您可以传递多个逗号分隔的项目,这些项目被视为数组。
  3. 字符串连接语法:字符串用+运算符连接

如果5Int而非String,则形式1和2有效,但形式3不合法

答案 1 :(得分:0)

在此打印语句中,输出是相同的,但有所不同,例如在第一条语句中,在字符串数据中使用\(value)变量。

第二条语句将数据追加到您的字符串值中并保留一个空格

第三个语句只是连接两个值(它不保持两个值之间的空格),在此语句中,“ +”号用作运算符重载以连接两个值

let value = "5"
print("Values is: \(value)") //use variable value within string
print("Values is:", value)   //append value, with keep one space
print("Values is: " + value) //just concat two value 

答案 2 :(得分:0)

var value =“ 5”

打印(“值是:(值)”) //将值打印为字符串的一部分。如果使用print(“ Values is:(value)”),它将打印输出而没有空格。

打印(“值是:”,值) //您无需添加单独的空格即可将值添加到字符串。它将自动将值添加到带有空格的字符串中。

打印(“值是:” +值) //如果使用 integer 值,则会显示错误“二进制运算符'+'不能应用于类型为'String'和'Int'的操作数”

否则它将起作用。如果要将int与sting串联,则需要执行以下操作:-

打印(“值是:” +字符串(值)) //它是带有字符串

的普通连接数字

以上所有内容都将精确打印