Search code examples
iosswiftidentifierreserved-wordsbackticks

Practical application of backticks in Swift


From this document:

To use a reserved word as an identifier, put a backtick (`) before and after it.

I'm curious about the practical application of this. When would you actually want to name something `class`, `self`, etc.?

Or, relatedly, why did the designers of Swift allow this, rather than just forbidding us from using reserved words as identifiers?


Solution

  • The most important usage is the interaction with other languages that have different keywords.

    From Swift you can call C and Obj-C functions.

    Now, consider for example that you need to call a C function called guard. However, that's a keyword in Swift, therefore you have to tell the compiler that you don't want to use it as a keyword but as an identifier, e.g.:

    `guard`()
    

    There are multiple keywords in Swift that are widely used as method/function names, e.g. get and set. For many contexts Swift is able to figure out the difference but not always.