Mojo module
string_slice
The StringSlice type implementation for efficient string operations.
This module provides the StringSlice type, which is a lightweight view into
string data that enables zero-copy string operations. StringSlice is designed
for high-performance string manipulation while maintaining memory safety and
UTF-8 awareness.
The StringSlice type is particularly useful for:
- High-performance string operations without copying.
- Efficient string parsing and tokenization.
StaticString is an alias for an immutable constant StringSlice.
StringSlice and StaticString are in the prelude, so they are automatically
imported into every Mojo program.
Example:
# Create a string slice
var text = StringSlice("Hello, 世界")
# Zero-copy slicing
var hello = text[0:5] # Hello
# Unicode-aware operations
var world = text[7:13]  # "世界"
# String comparison
if text.startswith("Hello"):
    print("Found greeting")
# String formatting
var format_string = StaticString("{}: {}")
print(format_string.format("bats", 6)) # bats: 6Aliases
StaticString
alias StaticString = StringSlice[StaticConstantOrigin]
An immutable static string slice.
Structs
- CodepointsIter: Iterator over theCodepoints in a string slice, constructed byStringSlice.codepoints().
- CodepointSliceIter: Iterator forStringSliceover substring slices containing a single Unicode codepoint.
- StringSlice: A non-owning view to encoded string data.
Functions
- get_static_string: Form a StaticString from compile-time StringSlice values. This guarantees that the returned string is compile-time constant in static memory. It also guarantees that there is a 'nul' zero byte at the end, which is not included in the returned range.
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!
