The Swift Programming Language Documentation version 4.0Swift is a fantastic way to write software, whether it’s for phones, desktops, servers, or anything else that runs code. It’s a safe, fast, and interactive programming language that combines the best in modern language thinking with wisdom from the wider Apple engineering culture and the diverse contributions from its open-source community. The compiler is optimized for performance and the language is optimized for development, without comp
romising on either.Swift is friendly to new programmers. It’s an industrial-quality programming language that’s as expressive and enjoyable as a scripting language. Writing Swift code in a playground lets you experiment with code and see the results immediately, without the overhead of building and running an app.Swift defines away large classes of common programming errors by adopting modern programming patterns:- Variables are always initialized before use.- Array indices are checked for out-of-bounds errors.- Integers are checked for overflow.- Optionals ensure that nil values are handled explicitly.- Memory is managed automatically.- Error handling allows controlled recovery from unexpected failures.Swift code is compiled and optimized to get the most out of modern hardware. The syntax and standard library have been designed based on the guiding principle that the obvious way to write your code should also perform the best. Its combination of safety and speed make Swift an excellent choice for everything from “Hello, world!” to an entire operating system.Swift combines powerful type inference and pattern matching with a modern, lightweight syntax, allowing complex ideas to be expressed in a clear and concise manner. As a result, code is not just easier to write, but easier to read and maintain as well.Swift has been years in the making, and it continues to evolve with new features and capabilities. Our goals for Swift are ambitious. We can’t wait to see what you create with it.Table of contentWelcome to Swift- About Swift- Version Compatibility- A Swift TourLanguage Guide- TheBasics,The Basics- Basic Operators- Strings and Characters- Collection Types- Control Flow- Functions- Closures- Enumerations- Classes and Structures- Properties- Methods- Subscripts- Inheritance- Initialization- Deinitialization- Optional Chaining- Error Handling- Type Casting- Nested Types- Extensions- Protocols- Generics- Automatic Reference Counting- Memory Safety- Access Control- Advanced OperatorsLanguage Reference- About the Language Reference- Lexical Structure- Types- Expressions- Statements- Declarations- Attributes- Patterns- Generic Parameters and Arguments- Summary of the GrammarRevision History- Document Revision History
... moreless ...