zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 27353bb936a161e6a09f1424ce38bf84e78e94e4 (tree)
parent 15a6b279571a02b5b31451c0200d09578ea99995
Author: expikr <77922942+expikr@users.noreply.github.com>
Date:   Tue, 21 Nov 2023 19:54:13 +0800

langref: emphasize the use of dereferencing string literals


Diffstat:
Mdoc/langref.html.in | 11++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/doc/langref.html.in b/doc/langref.html.in @@ -899,9 +899,18 @@ pub fn main() void { The type of string literals encodes both the length, and the fact that they are null-terminated, and thus they can be {#link|coerced|Type Coercion#} to both {#link|Slices#} and {#link|Null-Terminated Pointers|Sentinel-Terminated Pointers#}. - Dereferencing string literals converts them to {#link|Arrays#}. </p> <p> + Dereferencing string literals converts them to {#link|Arrays#}, allowing you to initialize a buffer with the contents of a string literal. + </p> + {#code_begin|syntax|mutable_string_buffer#} +test { + var buffer = [_]u8{0}**256; + const home_dir = "C:/Users/root"; + buffer[0..home_dir.len].* = home_dir.*; +} + {#code_end#} + <p> The encoding of a string in Zig is de-facto assumed to be UTF-8. Because Zig source code is {#link|UTF-8 encoded|Source Encoding#}, any non-ASCII bytes appearing within a string literal in source code carry their UTF-8 meaning into the content of the string in the Zig program;