---
title: "random(in:using:)"
framework: swift
role: symbol
role_heading: Type Method
path: "swift/int/random(in:using:)-4lsb5"
---

# random(in:using:)

Returns a random value within the specified range, using the given generator as a source for randomness.

## Declaration

```swift
static func random<T>(in range: Range<Self>, using generator: inout T) -> Self where T : RandomNumberGenerator
```

## Parameters

- `range`: The range in which to create a random value. range must not be empty.
- `generator`: The random number generator to use when creating the new random value.

## Return Value

Return Value A random value within the bounds of range.

## Discussion

Discussion Use this method to generate an integer within a specific range when you are using a custom random number generator. This example creates three new values in the range 1..<100. for _ in 1...3 {     print(Int.random(in: 1..<100, using: &myGenerator)) } // Prints "7" // Prints "44" // Prints "21" note: The algorithm used to create random values may change in a future version of Swift. If you’re passing a generator that results in the same sequence of integer values each time you run your program, that sequence may change when your program is compiled using a different version of Swift.

## See Also

### Creating a Random Integer

- [random(in:)](swift/int/random(in:)-9mjpw.md)
- [random(in:)](swift/int/random(in:)-8zzqh.md)
- [random(in:using:)](swift/int/random(in:using:)-3dwv4.md)
