Difference between Swift String Interpolation Prints

swift string(format)
swift string interpolation formatting
swift string to character
swift string concatenation
swift substring
swift string index
swift string to int
swift for loop

I am new to iOS development, while I was going through string interpolation. I want to know the clarification between these print statement's output:

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

For such a question, we should take a look at print(_:separator:terminator:) parameters:

1) items: is a variadic parameter of type Any, which means that you can pass zero or more items to it. Example:

print() // passing nothing
print("Hello") // passing single item (String)
print(101, 40.45, false, ["Hi", "Greetings"]) // passing multiple items

2) separator: the string to print between each item (as mentioned in its documentation). Example:

print(101, 40.45, false, ["Hi", "Greetings"], separator: " <=> ")
// 101<=>40.45<=>false<=>["Hi", "Greetings"]

3) terminator: the string to print after all items have been printed (as mentioned in its documentation). Example:

print(101, 40.45, false, ["Hi", "Greetings"], terminator: " ==>")
// 101 40.45 false ["Hi", "Greetings"] ==>

Back to your cases:

First, keep in mind that for all of your three cases you are passing only items parameter; It is valid -for sure- because separator and terminator have default values as " " and \n.

Now, for the first and third print statements

print("Values is: \(value)")
print("Values is: " + value)

what happens is: actually you are dealing with Strings, it is not about the print itself. You can do interpolation in strings as well as using the + for concatenating strings without the print:

// interpolation:
let name = "Jack"
let greetingMessage = "Greetings, \(name)"
print(greetingMessage) // => Greetings, Jack

// concatenating:
let concatenated = "Greetings" + ", " + "Sara"
print(concatenated) // => "Greetings" + ", " + "Sara"

Which means that you are passing a single String item, regardless of doing interpolation or concatenation for it.

You could also check The + function implementation in Swift. Basically, it is an append!

The second print statement:

print("Values is:", value)

What happens here is: you are passing two items; According to the default value for separator, the output is:

Values is: 5

As:

Values is: 5
     ^    ^^
     |    ||__ item #2
 item #1  |
          |
   default separator (" ")

Strings and Characters — The Swift Programming Language (Swift , Despite this simplicity of syntax, Swift's String type is a fast, modern string implementation. Prints "Write an interpolated string in Swift using \(multiplier)." The difference between strings and substrings is that, as a performance optimization,� Difference between Swift String Interpolation Prints. Related. 1226. What is the difference between static func and class func in Swift? 356.

Practically all three forms do the same thing.

The differences are

  1. String interpolation syntax. You can put everything within the inner parentheses which responds to the CustomStringConvertible protocol.
  2. Variadic parameter syntax. print is declared func print(_ items: Any...,. Any... means you can pass multiple items comma separated which are treated as array.
  3. String concatenation syntax : The strings are concatenated with the + operator

If 5 was Int rather than String forms 1 and 2 are valid but not form 3

Super-powered string interpolation in Swift 5.0 – Hacking with Swift, print("Today's date is \(Date()).") You'll see that Swift prints the date as something like “2019-02-21 23:30:21 +0000”� Swift has supported string interpolation from its inception. But in Swift 5.0 it got superpowers, which why I’m writing about it and exploring some of the new features of string interpolation

In this print statement output is the same but there is different like in first statement use \(value) variable within the string data.

The second statement append data in your string value with keep one space

The third statement just concat two value (it does not keep space between two value), In this statement "+" sign used as operator overloading to concat two 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 

String interpolation, This is a fancy name for what is actually a very simple thing: combining to print out a message to the user that included their name, string interpolation is what In addition, string interpolation in Swift is smart enough to be able to handle a� String interpolation "\(item)" gives you the result of calling description on the item.String(item) calls a String initializer and returns a String value, which frequently is the same as the String you would get from string interpolation, but it is not guaranteed.

var value = "5"

print("Values is: (value)") // Print the value as a part of the the string. If you use print("Values is:(value)"), it will print the output without space.

print("Values is:", value) // you do not need to add a separate space to add the value to sting. It will automatically add the value to the string with a space.

print("Values is: " + value) // It will show error if you use integer value "Binary operator '+' cannot be applied to operands of type 'String' and 'Int'"

otherwise it will work. And if you want to concatenate int with sting you need to do something like below:-

print("Values is: " + String(value)) // it is normal concatenate number with string

All the above will print the exact

String Interpolation in Swift explained using 4 useful cases, Custom string interpolation adjusts the way an object is printed out when used inside another string. Swift 5 introduced a decent version of string interpolation with SE-228 and updated the old What is string interpolation? A string is a series of characters, such as "Swift", that forms a collection. Strings in Swift are Unicode correct and locale insensitive, and are designed to be efficient. The String type bridges with the Objective-C class NSString and offers interoperability with C functions that works with strings.

The Power of String Interpolation in Swift, Exploring String Interpolations new superpowers in Swift What is String Interpolation? String interpolation is including a variable or constant in our string. It is a If the age is greater than 18 , it only prints the literal message. String interpolation is a process substituting values of variables into placeholders in a string. For instance, if you have a template for saying hello to a person like "Hello {Name of person}, nice to meet you!", you would like to replace the placeholder for name of person with an actual name.

Swift Print, We'll use the print function to print and output strings and variables to your screen . Print a sentence using string interpolation; Create a sentence to store in a� Swift uses string interpolation to include the name of a constant or variable as a placeholder in a longer string, and to prompt Swift to replace it with the current value of that constant or variable. Wrap the name in parentheses and escape it with a backslash before the opening parenthesis:

String, A string is a series of characters, such as "Swift" , that forms a collection. Wrap each expression in a string interpolation in parentheses, prefixed by a backslash. As a result, different representations of a string compare as being equal. unicodeScalars.map { $0.value }) // Prints "[67, 97, 102, 101, 769, 32, 100, 117, 32,� The syntax for string creation and manipulation is lightweight and readable, with a string literal syntax that is similar to C. String concatenation is as simple as combining two strings with the + operator, and string mutability is managed by choosing between a constant or a variable, just like any other value in Swift. You can also use

Comments
  • Related: stackoverflow.com/questions/43963356/print-in-swift-3
  • It's important to note that you should generally avoid the + form. While a single + like this is usually fine, if you begin to chain them like "name: " + name + ", value: " + value, you can dramatically increase compile times (sometimes by orders of magnitude). The Swift compiler has a very hard time dealing with multiple + operators in a single expression because there are so many overloads.
  • Thanks :) for your detailed clarification.
  • And 2. is doing either 1. or 3. "inside". And worth noting, that 1. and 3. can be used not just to make string to display immediately.