Concatenate number with string in Swift

孤人 提交于 2019-12-02 21:38:05

If you want to put a number inside a string, you can just use String Interpolation:

return "first \(myVariable)"
H. Mahida

You have TWO options;

return "first " + String(myVariable)

or

return "first \(myVariable)"
CW0007007

To add an Int to a String you can do:

return "first \(myVariable)"

If you're doing a lot of it, consider an operator to make it more readable:

func concat<T1, T2>(a: T1, b: T2) -> String {
    return "\(a)" + "\(b)"
}

let c = concat("Horse ", "cart") // "Horse cart"
let d = concat("Horse ", 17) // "Horse 17"
let e = concat(19.2345, " horses") // "19.2345 horses"
let f = concat([1, 2, 4], " horses") // "[1, 2, 4] horses"

operator infix +++ {}
@infix func +++ <T1, T2>(a: T1, b: T2) -> String {
    return concat(a, b)
}

let c1 = "Horse " +++ "cart"
let d1 = "Horse " +++ 17
let e1 = 19.2345 +++ " horses"
let f1 = [1, 2, 4] +++ " horses"

You can, of course, use any valid infix operator, not just +++.

Sategroup

Optional keyword would appear when you have marked variable as optional with ! during declaration.

To avoid Optional keyword in the print output, you have two options:

  1. Mark the optional variable as non-optional. For this, you will have to give default value.
  2. Use force unwrap (!) symbol, next to variable

In your case, this would work just fine

return "first \(myVariable!)"

Here is documentation about String and characters

var variableString = "Horse"
variableString += " and carriage"
// variableString is now "Horse and carriage"
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!