fmt +linux +x86_64

A format string consists of a string of literal characters, to be printed verbatim, and format sequences, which describe how to format arguments from a set of variadic parameters for printing.

A format sequence is enclosed in curly braces '{}'. An empty sequence takes the next argument from the parameter list, in order. A specific parameter may be selected by indexing it from zero: '{0}', '{1}', and so on. To print '{', use '{{', and for '}', use '}}'.

You may use a colon to add format modifiers; for example, '{:x}' will format an argument in hexadecimal, and '{3:-10}' will left-align the 3rd argument to at least 10 characters.

The format modifiers takes the form of an optional flag character:

Following the flag, an optional decimal number shall specify the minimum width of this field. If '0' or '-' were not given, the default behavior shall be to pad with spaces to achieve the necessary width.

Following the width, an optional precision may be given as a decimal number following a '.' character. For integer types, this gives the minimum number of digits to include. For floating types, this gives the number of digits following the radix to include.

Following the precision, an optional character controls the output format:

Some examples:

fmt::printf("hello {}", "world");		// "hello world"
fmt::printf("{1} {0}", "hello", "world");	// "world hello"
fmt::printf("{:x} {:X}", 51966, 61453);		// "CAFE F00D"
fmt::printf("{:-5}", 42);			// "42   "
fmt::printf("{:5}", 42);			// "   42"
fmt::printf("{:05}", 42);			// "00042"

Types

type formattable;

Functions

fn asprint(formattable...) str;
fn asprintf(str, formattable...) str;
fn bsprint([]u8, formattable...) str;
fn bsprintf([]u8, str, formattable...) str;
fn error(formattable...) (io::error | size);
fn errorf(str, formattable...) (io::error | size);
fn errorfln(str, formattable...) (io::error | size);
fn errorln(formattable...) (io::error | size);
fn fatal(str, formattable...) void;
fn fprint(*io::stream, formattable...) (io::error | size);
fn fprintf(*io::stream, str, formattable...) (io::error | size);
fn fprintfln(*io::stream, str, formattable...) (io::error | size);
fn fprintln(*io::stream, formattable...) (io::error | size);
fn print(formattable...) (io::error | size);
fn printf(str, formattable...) (io::error | size);
fn printfln(str, formattable...) (io::error | size);
fn println(formattable...) (io::error | size);

type formattable [link]

type formattable = (...types::numeric | uintptr | str | rune | bool | nullable *void);

Tagged union of all types which are formattable.

fn asprint [link]

fn asprint(args: formattable...) str;

Formats values for printing using the default format modifiers and writes them into a heap-allocated string separated by spaces. The caller must free the return value.

fn asprintf [link]

fn asprintf(fmt: str, args: formattable...) str;

Formats text for printing and writes it into a heap-allocated string. The caller must free the return value.

fn bsprint [link]

fn bsprint(buf: []u8, args: formattable...) str;

Formats values for printing using the default format modifiers and writes them into a caller supplied buffer separated by spaces. The returned string is borrowed from this buffer.

fn bsprintf [link]

fn bsprintf(buf: []u8, fmt: str, args: formattable...) str;

Formats text for printing and writes it into a caller supplied buffer. The returned string is borrowed from this buffer.

fn error [link]

fn error(args: formattable...) (io::error | size);

Formats values for printing using the default format modifiers and writes them to os::stderr separated by spaces

fn errorf [link]

fn errorf(fmt: str, args: formattable...) (io::error | size);

Formats text for printing and writes it to os::stderr.

fn errorfln [link]

fn errorfln(fmt: str, args: formattable...) (io::error | size);

Formats text for printing and writes it to os::stderr, followed by a line feed.

fn errorln [link]

fn errorln(args: formattable...) (io::error | size);

Formats values for printing using the default format modifiers and writes them to os::stderr separated by spaces and followed by a line feed

fn fatal [link]

@noreturn fn fatal(fmt: str, args: formattable...) void;

Formats text for printing and writes it to os::stderr, followed by a line feed, then exits the program with an error status.

fn fprint [link]

fn fprint(s: *io::stream, args: formattable...) (io::error | size);

Formats values for printing using the default format modifiers and writes them to an io::stream separated by spaces

fn fprintf [link]

fn fprintf(s: *io::stream, fmt: str, args: formattable...) (io::error | size);

Formats text for printing and writes it to an io::stream.

fn fprintfln [link]

fn fprintfln(s: *io::stream, fmt: str, args: formattable...) (io::error | size);

Formats text for printing and writes it to an io::stream, followed by a line feed.

fn fprintln [link]

fn fprintln(s: *io::stream, args: formattable...) (io::error | size);

Formats values for printing using the default format modifiers and writes them to an io::stream separated by spaces and followed by a line feed

fn print [link]

fn print(args: formattable...) (io::error | size);

Formats values for printing using the default format modifiers and writes them to os::stdout separated by spaces

fn printf [link]

fn printf(fmt: str, args: formattable...) (io::error | size);

Formats text for printing and writes it to os::stdout.

fn printfln [link]

fn printfln(fmt: str, args: formattable...) (io::error | size);

Formats text for printing and writes it to os::stdout, followed by a line feed.

fn println [link]

fn println(args: formattable...) (io::error | size);

Formats values for printing using the default format modifiers and writes them to os::stdout separated by spaces and followed by a line feed