Extra Credit

Swift

Official docs outline

23 sections
  1. The basics

    Constants and variables, type safety and inference, tuples, optionals and assertions.

  2. Basic operators

    Assignment, arithmetic, comparison, nil-coalescing and range operators.

  3. Strings and characters

    Unicode strings, string interpolation, indices and substrings.

  4. Collection types

    Arrays, sets, dictionaries and value-type copy semantics.

  5. Control flow

    for-in, while, switch with pattern matching, guard and early exit, availability checks.

  6. Functions

    Parameter labels, default and variadic parameters, inout, function types.

  7. Closures

    Closure expressions, trailing closures, capturing values, escaping and autoclosures.

  8. Enumerations

    Associated and raw values, recursive enumerations and CaseIterable.

  9. Structures and classes

    Value vs reference types, identity, and choosing between struct and class.

  10. Properties

    Stored, computed and lazy properties, observers, property wrappers and type properties.

  11. Methods and subscripts

    Instance and type methods, mutating methods, and subscripts.

  12. Inheritance

    Subclassing, overriding, final and class hierarchies.

  13. Initialization and deinitialization

    Designated and convenience initializers, failable initializers, two-phase initialization, deinit.

  14. Optional chaining

    Optional chaining, unwrapping, if let/guard let and nil handling.

  15. Error handling

    throws, try/catch, Result, rethrows and defer cleanup.

  16. Concurrency

    async/await, tasks and task groups, actors, Sendable and structured concurrency.

  17. Generics

    Generic functions and types, associated types, generic where clauses.

  18. Protocols

    Protocol requirements, composition, protocol-oriented design, extensions with defaults.

  19. Extensions

    Adding functionality to existing types.

  20. Opaque and boxed types

    some and any types, protocol existentials and opaque return types.

  21. Automatic reference counting

    Strong, weak and unowned references, retain cycles and capture lists.

  22. Memory safety and access control

    Exclusive access, conflicting accesses, and access levels (open to private).

  23. Macros and advanced operators

    Freestanding and attached macros, custom operators and result builders.

Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.

All 41