--- id: strings title: Strings --- Strings are defined using the built-in `string` type like this: ``` const a: string = "Hello Alice"; ``` ``` let a: string = "Hello Alice" ``` ```reasonligo let a: string = "Hello Alice"; ``` ## Concatenating strings Strings can be concatenated using the `^` operator. ```pascaligo const name: string = "Alice"; const greeting: string = "Hello"; // Hello Alice const full_greeting: string = greeting ^ " " ^ name; // Hello Alice! (alternatively) const full_greeting_exclamation: string = string_concat(full_greeting, "!"); ``` Strings can be concatenated using the `^` operator. ```cameligo let name: string = "Alice" let greeting: string = "Hello" let full_greeting: string = greeting ^ " " ^ name ``` Strings can be concatenated using the `++` operator. ```reasonligo let name: string = "Alice"; let greeting: string = "Hello"; let full_greeting: string = greeting ++ " " ++ name; ``` ## Slicing strings Strings can be sliced using the syntax specific built-in built-in function: ```pascaligo const name: string = "Alice"; // slice = "A" const slice: string = string_slice(0n, 1n, name); ``` ```cameligo let name: string = "Alice" let slice: string = String.slice 0n 1n name ``` ```reasonligo let name: string = "Alice"; let slice: string = String.slice(0n, 1n, name); ``` > ⚠️ Notice that the `offset` and slice `length` are `nats` ## Aquiring the length of a string The length of a string can be found using the syntax specific built-in function: ```pascaligo const name: string = "Alice"; // length = 5 const length: nat = size(name); ``` ```cameligo let name: string = "Alice" let length: nat = String.size name ``` ```reasonligo let name: string = "Alice"; let length: nat = String.size(name); ```