@uuid
The @uuid module provides functions for generating and validating UUIDs (Universally Unique Identifiers) following RFC 4122.
Import
import @uuid
Functions
generate()
() -> string
Generates a new random UUID v4 without hyphens.
import @uuid
do main() {
mut id string = uuid.generate()
println(id) // e.g., "550e8400e29b41d4a716446655440000"
}
Returns: string - A UUID v4 as a 32-character hex string (no hyphens).
Errors: E7001 if called with arguments.
generate_hyphenated()
() -> string
Generates a new random UUID v4 with hyphens.
import @uuid
do main() {
mut id string = uuid.generate_hyphenated()
println(id) // e.g., "550e8400-e29b-41d4-a716-446655440000"
}
Returns: string - A UUID v4 in standard format (8-4-4-4-12 hex digits with hyphens).
Errors: E7001 if called with arguments.
is_valid()
(str string) -> bool
Checks if a string is a valid UUID in standard format.
import @uuid
do main() {
mut valid bool = uuid.is_valid("550e8400-e29b-41d4-a716-446655440000")
println(valid) // true
mut invalid bool = uuid.is_valid("not-a-uuid")
println(invalid) // false
}
Parameters: str - The string to validate.
Returns: bool - true if the string is a valid UUID, false otherwise.
Errors: E7001 for wrong argument count, E7002 if argument is not a string.
NIL()
() -> string
Returns the nil UUID (all zeros).
import @uuid
do main() {
mut nil_id string = uuid.NIL()
println(nil_id) // "00000000-0000-0000-0000-000000000000"
}
Returns: string - The nil UUID "00000000-0000-0000-0000-000000000000".
Errors: E7001 if called with arguments.
Example Program
import @uuid
do main() {
println("=== UUID Demo ===")
// Generate a UUID without hyphens
mut id string = uuid.generate()
println("Generated UUID:", id)
// Generate with hyphens
mut hyphenated string = uuid.generate_hyphenated()
println("Hyphenated UUID:", hyphenated)
// Validate UUIDs
println("\nValidation:")
println("Is '${id}' valid?", uuid.is_valid(id))
println("Is 'hello' valid?", uuid.is_valid("hello"))
// Nil UUID
println("\nNil UUID:", uuid.NIL())
}