字符串文字作为println中func的参数吗?
无论如何,在一个println语句中使用一个字符串文字作为参数的一个参数。字符串文字作为println中func的参数吗?
func greetings(name: String) -> String {
return "Greetings \(name)!"
}
我试图做(我想逃避围绕地球行星引号)。
println("OUTPUT: \(greetings("Earthling"))")
您也可以做到这一点:
let name = "Earthling"
println("OUTPUT: \(greetings(name))")
而这个工程太:
println(greetings("Earthling"))
我试过escap在第一个例子中引号,但没有运气,它不是特别重要,因为它只是一个测试,我只是好奇是否有办法做到这一点,使用字符串文字作为参数的函数调用打印或包含其他文本的println语句。
从Apple文档:
表达你写内插值 字符串中的括号不能包含转义双引号(“)或反斜线(\), 并不能包含回车或换行喂。
很酷,谢谢你,总结了一些事情......非常感谢。 – fuzzygoat 2014-10-20 14:06:29
请注意,由于您不能使用反斜杠,因此您也不能在其中放置一个转义双引号。唯一的方法是将字符串文字放入一个变量中并使用它。 – 2014-10-20 16:57:31
的问题当然不是println
而是表达与字符串文字引号的嵌入。 因此
let b = false
let s1 = b ? "is" : "isn't"
let s2 = "it \(b ? "is" : "isn't")" // won't compile
但是作为NSLog的一班轮'工作得很好这里
NSLog("it %@", b ? "is" : "isn't")
注意%@
,不%s
。在操场上试试后者,看看为什么。
您对自己的问题发表了评论。很混乱。 :S – 2014-10-20 13:37:01
啊。我以为他打算评论你的答案并错过了。 :) – 2014-10-20 14:06:17