Top 1,000 Features Creators Resources Blog Explore Download
GitHub icon

Swift

< >

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

Source code:
git clone https://github.com/apple/swift
#16on 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 ยท About ยท Acknowledgements ยท Extensions ยท Day 624 ยท feedback@pldb.io