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