Golang Basic 3 - Basic I/O functions
About fmt package
- Package fmt implements formatted I/O with functions analogous to C's printf and scanf. The format 'verbs' are derived from C's but are simpler.
Import package
import "fmt"
Functions in fmt
- You can get more information from https://golang.org/pkg/fmt/#pkg-index.
golang
func Errorf(format string, a ...interface{}) error
func Fprint(w io.Writer, a ...interface{}) (n int, err error)
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
func Fprintln(w io.Writer, a ...interface{}) (n int, err error)
func Fscan(r io.Reader, a ...interface{}) (n int, err error)
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error)
func Fscanln(r io.Reader, a ...interface{}) (n int, err error)
func Print(a ...interface{}) (n int, err error)
func Printf(format string, a ...interface{}) (n int, err error)
func Println(a ...interface{}) (n int, err error)
func Scan(a ...interface{}) (n int, err error)
func Scanf(format string, a ...interface{}) (n int, err error)
func Scanln(a ...interface{}) (n int, err error)
func Sprint(a ...interface{}) string
func Sprintf(format string, a ...interface{}) string
func Sprintln(a ...interface{}) string
func Sscan(str string, a ...interface{}) (n int, err error)
func Sscanf(str string, format string, a ...interface{}) (n int, err error)
func Sscanln(str string, a ...interface{}) (n int, err error)
Format string
General
Format |
Sense |
%v |
The value in a default format when printing structs, the plus flag (% v) adds field names. |
%#v |
A Go-syntax representation of the value. |
%T |
A Go-syntax representation of the type of the value. |
%% |
A literal percent sign; consumes no value. |
Boolean
Format |
Sense |
%t |
The word true or false. |
Integer
Format |
Sense |
%b |
base 2 |
%c |
the character represented by the corresponding Unicode code point |
%d |
base 10 |
%o |
base 8 |
%O |
base 8 with 0o prefi |
%q |
a single-quoted character literal safely escaped with Go syntax |
%x |
base 16, with lower-case letters for a-f |
%X |
base 16, with upper-case letters for A-F |
%U |
Unicode format: U 1234; same as "U %04X" |
Floating-point and complex constituents
Format |
Sense |
%b |
decimalless scientific notation with exponent a power of two, in the manner of strconv.FormatFloat with the 'b' format |
%e |
scientific notation |
%E |
scientific notation |
%f |
decimal point but no exponent |
%F |
synonym for %f |
%g |
%e for large exponents, %f otherwise |
%G |
%E for large exponents, %F otherwise |
%x |
hexadecimal notation (with decimal power of two exponent) |
%X |
upper-case hexadecimal notation |
String and slice of bytes
Format |
Sense |
%s |
the uninterpreted bytes of the string or slice |
%q |
a double-quoted string safely escaped with Go syntax |
%x |
base 16, lower-case, two characters per byte |
%X |
base 16, upper-case, two characters per byte |
Slice
Format |
Sense |
%p |
address of 0th element in base 16 notation, with leading 0x |
Pointer
|Format|Sense|
|:-:|:-:|
|%p|base 16 notation, with leading 0x|
- The %b, %d, %o, %x and %X verbs also work with pointers, formatting the value exactly as if it were an integer.
Basic input function
Some functions could get input from console.
func Scan(a ...interface{}) (n int, err error)
func Scanln(a ...interface{}) (n int, err error)
- If you need set string format, you can use Scanf().
- Scanln() will add a end of line symbol at the end of the line.
Basic output function
Some functions could print on the console.
func Print(a ...interface{}) (n int, err error)
func Printf(format string, a ...interface{}) (n int, err error)
func Println(a ...interface{}) (n int, err error)
- If you need set string format, you can use Printf().
- Println() will add a end of line symbol at the end of the line.
Sample
usr@host:go/ # cat l3s1.go
package main
import (
"fmt"
)
func main(){
var var1 int
var var2 int
fmt.Print("Please input two values (split with blank) : ")
fmt.Scanln(&var1, &var2)
fmt.Printf("%d %d = %d\n", var1, var2, var1 var2)
}
usr@host:go/ # go run l3s1.go
Please input two values (split with blank) : 3 6
3 6 = 9
Related
Be First to Comment