String data type

Strings in Gofra are represented via Fat Pointers (Or also called String View and String Slice)

Using string data type:

var str *string = "text" // Type may be omitted

"another text" // Pushes *string on stack

str.data // Push underlying *boxed* pointer to CStr (*char[])
str.len // Size (bytes) of the string (character length in UTF-8 as single byte for character)

Internally, string structure type is available for any compiled program and defined like so:

type struct string
    data *char[]
    len int
end

That structure takes 16 bytes (8 bytes ptr, 8 bytes len)

Strings defined internally in source code located in static data segment (must has Read-Only memory protection)