Golang: Print
Use the package fmt
fmt.Printf("there are %v apples\n", 3)
The first argument is a string.
The string can contain many special placeholder characters , starting with the percent character %
.
Second argument and rest arguments are used to fill the placeholders.
Example:
fmt.Printf("Name is %v, Age is %v \n", "john", 36)
package main import "fmt" func main() { var x = "John" var y = 36 fmt.Printf("name is %v, age is %v\n", x, y) // name is John, age is 36 }
Here's the most useful placeholders:
%v
- Any value. Print in human readable form.
%#v
- Print in golang syntax
%+v
- If value is struct, also show the field names.
%T
- Type of the value
%%
- A literal percent sign
Print Line
For quick printing, use
fmt.Println(v1, v2 etc)
it's similar to fmt.Printf
with "%v"
for format.
package main import "fmt" func main() { var x = 3 var y = 4 fmt.Println(x, y) // 3 4 }
Convert to String
To convert a value to string, use
fmt.Sprintf(string, v1, v2 etc)
it return a string.
package main import "fmt" func main() { var x = "John" var y = 36 var s = fmt.Sprintf("name is %v, age is %v\n", x, y) fmt.Println(s) // name is John, age is 36 }
Example: Print Type
It is very useful to print the type of a value, when learning go.
fmt.Printf("%T\n", val)
package main import "fmt" // using Printf to show different types of value func main() { var x = 3 fmt.Printf("%v\n", x) // 3 fmt.Printf("%T\n", x) // int var x2 = 3.4 fmt.Printf("%v\n", x2) // 3.4 fmt.Printf("%T\n", x2) // float64 }
Print String as Sequence of Byte/Char/Codepoint
Print Slice
Print Struct
If you have a question, put $5 at patreon and message me.