Golang print

From wikinotes
Revision as of 21:52, 1 August 2022 by Will (talk | contribs) (→‎Format Syntax)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Basics

require "fmt"

fmt.Println("foo")                 // print to stdout with newline
fmt.Printf("%v", 123)              // print formatted string to stdout (no newline)
fmt.Fprintf(os.Stdout, "%v", 123)  // prints formatted string to writable object (ex. STDOUT, STERR, ..)

fmt.Sprintf("%v", 123)             // returns formatted string (no newline)

Format Syntax

Printf/Sprintf/Fprintf all take format specifiers.
See full docs here, but here's some really useful formats:

# general
%v  # value
%T  # type
%p  # memory-address of object (make sure to dereference pointers!)

# number-bases
%b  # binary
%x  # hex
%o  # octal
%d  # decimal

# number types
%d  # int (base-10)
%f  # float

# strings
%s  # string
%q  # quoted/escaped go string
%c  # unicode-char for num