# Swift Standard Library

Solve complex problems and write high-performance, readable code.

## Overview

The Swift standard library defines a base layer of functionality for writing Swift
programs, including:

- Fundamental data types such as ``Swift/Int``, ``Swift/Double``, and ``Swift/String``
- Common data structures such as ``Swift/Array``, ``Swift/Dictionary``, and ``Swift/Set``
- Global functions such as ``Swift/print(_:separator:terminator:)`` and ``Swift/abs(_:)``
- Protocols, such as ``Swift/Collection`` and ``Swift/Equatable``, that describe
common abstractions.
- Protocols, such as ``Swift/CustomDebugStringConvertible`` and ``Swift/CustomReflectable``,
that you use to customize operations that are available to all types.
- Protocols, such as ``Swift/OptionSet-protocol``, that you use to provide implementations
that would otherwise require boilerplate code.

> Note: Experiment with Swift standard library types and learn high-level concepts
using visualizations and practical examples. Learn how the Swift standard library
uses protocols and generics to express powerful constraints. Download the playground
below to get started.
>
> [Swift Standard Library.playground](https://developer.apple.com/sample-code/swift/downloads/standard-library.zip)

## Topics

### Values and Collections

- <doc:numbers-and-basic-values>
- <doc:strings-and-text>
- <doc:collections>
- <doc:time-and-duration>

### Tools for Your Types

- <doc:basic-behaviors>
- <doc:encoding-decoding-and-serialization>
- <doc:initialization-with-literals>

### Programming Tasks

- <doc:input-and-output>
- <doc:debugging-and-reflection>
- <doc:macros>
- <doc:concurrency>
- <doc:key-path-expressions>
- <doc:manual-memory-management>
- <doc:type-casting-and-existential-types>
- <doc:c-interoperability>
- <doc:cxx-interoperability>
- <doc:operator-declarations>

### Deprecated

- <doc:deprecated>
