# Function memchr::memchr

source · [−]

    pub fn memchr(needle: u8, haystack: &[u8]) -> Option<usize>

Expand description

Search for the first occurrence of a byte in a slice.

This returns the index corresponding to the first occurrence of `needle` in `haystack`, or `None` if one is not found. If an index is returned, it is guaranteed to be less than `usize::MAX`.

While this is operationally the same as something like `haystack.iter().position(|&b| b == needle)`, `memchr` will use a highly optimized routine that can be up to an order of magnitude faster in some cases.

## Example

This shows how to find the first position of a byte in a byte string.

    use memchr::memchr;

    let haystack = b"the quick brown fox";
    assert_eq!(memchr(b'k', haystack), Some(8));