Measures Concepts
GitHub icon

Swift

Swift - Programming language

< >

Swift is an open source programming language created in 2014 by Chris Lattner.

Source code:
git clone https://github.com/apple/swift
#21on PLDB 10Years Old 1mRepos

Try now: Riju · Replit

Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, macOS, watchOS, tvOS, and Linux. Swift is designed to work with Apple's Cocoa and Cocoa Touch frameworks and the large body of existing Objective-C (ObjC) code written for Apple products. Read more on Wikipedia...


Example from Compiler Explorer:
// Type your code here, or load an example. func square(n: Int) -> Int { return n * n }
Example from Riju:
print("Hello, world!")
Example from hello-world:
print("Hello World")
// Hello world in Swift println("Hello, world!")
Example from Linguist:
println("Hello, world")
Example from Wikipedia:
var someSortOfPrintableObject: SupportsToString ... print(someSortOfPrintableObject.toString())
Swift Keywords
associatedtype class deinit enum extension func import init inout internal let operator private protocol public static struct subscript typealias var break case continue default defer do else fallthrough for guard if in repeat return switch where while as catch dynamicType false is nil rethrows super self Self throw throws true try #column #file #function #line #available #column #else#elseif #endif #file #function #if #line #selector associativity convenience dynamic didSet final get infix indirect lazy left mutating none nonmutating optional override postfix precedence prefix Protocol required right set Type unowned weak willSet

Language features

Feature Supported Token Example
Binary Literals ✓
// 0b[01_]+
Integers ✓
// [0-9][0-9_]*
Floats ✓
// [0-9][0-9_]*(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*|[eE][+\-]?[0-9_]+)
Hexadecimals ✓
// 0x[0-9a-fA-F_]+
Octals ✓
// 0o[0-7_]+
Conditionals ✓
Access Modifiers ✓
Switch Statements ✓
Exceptions ✓
Classes ✓
While Loops ✓
Booleans ✓ true false
Case Sensitivity ✓
MultiLine Comments ✓ /* */
/* A comment
*/
Print() Debugging ✓ print
Line Comments ✓ //
// A comment
Type Inference ✓
Operator Overloading ✓
Interfaces ✓
protocol MyProtocol {
init(parameter: Int)
var myVariable: Int { get set }
var myReadOnlyProperty: Int { get }
func myMethod()
func myMethodWithBody()
}
extension MyProtocol {
func myMethodWithBody() {
  // implementation goes here
  }
}
File Imports ✓
import UIKit
import UIKit.UITableViewController
let tvc = UITableViewController()
let vc = UIViewController()
let label = UILabel()
Comments ✓
Single Dispatch ✓
Strings ✓ "
"hello world"
Assignment ✓
let label = UILabel()
Case Insensitive Identifiers X
Semantic Indentation X
Variable Substitution Syntax X

View source

- Build the next great programming language · Search · Add Language · Features · Creators · Resources · About · Blog · Acknowledgements · Queries · Stats · Sponsor · Day 605 · feedback@pldb.io · Logout