---
title: "min(_:_:_:_:)"
framework: swift
role: symbol
role_heading: Function
path: "swift/min(_:_:_:_:)"
---

# min(_:_:_:_:)

Returns the least argument passed.

## Declaration

```swift
func min<T>(_ x: T, _ y: T, _ z: T, _ rest: T...) -> T where T : Comparable
```

## Parameters

- `x`: A value to compare.
- `y`: Another value to compare.
- `z`: A third value to compare.
- `rest`: Zero or more additional values.

## Return Value

Return Value The least of all the arguments. If there are multiple equal least arguments, the result is the first one.

## See Also

### Choosing the Smallest and Largest Value

- [min(_:_:)](swift/min(_:_:).md)
- [max(_:_:)](swift/max(_:_:).md)
- [max(_:_:_:_:)](swift/max(_:_:_:_:).md)
