控制台
控制台
核心:fmt包。详见 studygolang.com/pkgdoc
控制台输出 (打印)
格式化打印
fmt.Println("普通的带换行打印")
// 格式化打印
fmt.Printf("对应字符:%c", 'A')		 // A
fmt.Printf("对应字符:%T", 25)		 // int
fmt.Println(unsafe.Sizeof(num3))	// 8 (Byte)格式化打印字符(详见 studygolang.com/pkgdoc中fmt 部分的文档)
// 通用
%v	值的默认格式表示
%+v	类似%v,但输出结构倜时会添加字段名
%#v	值的Go语法表示
%T	值的类型的Go语法表示
%%	百分号
// 布尔
%t	单词true/false
// 整数
%b	二进制
%c	unicode码值
%d	十进制
%o	八进制
%q	单引号括起来的go语法字符字面值,必要时用转义符号。即打印出来的结果是带引号的:"hello\tworld"
%x	十六进制(小写)
%X	十六进制(大写)
%U	Unicode码值(U+1234表示法)
// 浮点与复数
%b
%e
%E
%f
%F
%g
%G
// 字符串和[]byte
%s
%q
%x
%X
// 指针
%p	表示为0x加十六进制转义字符
与其他语言基本一样的
| 转义符 | 含义 | 补充 | Unicode | 
|---|---|---|---|
\b | 退格 | backspace | \u0008 | 
\n | 换行 | \u000a | |
\r | 回车 | 将光标指针返回本行的开头,后续输出会替换原有字符 | \u000d | 
\t | 制表符 | tab | \u0009 | 
\" | 双引号 | \u0022 | |
\' | 单引号 | \u0027 | |
\\ | 反斜杠 | \u005c | 
控制台输入
fmt Scan函数
和打印一样同样是fmt库,里面的 Scanln 函数
原型
// 常用的两个:
// 这里的 `a ...interface{}` 类似与C++中的泛型函数
func Scan(format string, a ...interface{}) (n int, err error)	// 从str扫描文本,空白符分割
func Scanln(a ...interface{}) (n int, err error)				// 从str扫描文本,换行符分割
// 其他类似的:
func Sscanln
func Fscan														// 从r扫描文本
func Fscanln使用 (Scanln)
package main
import "fmt"
func main() {
    var age int
    fmt.Println("录入年龄:")
    fmt.Scanln(&age)	    // 传入age地址,这里有点类似于字符串转数值类型的使用,也会有可能出错
    fmt.Printf("年龄:%v", age)
}使用 (Scan)
package main
import "fmt"
func main() {
    var age int
    var name string
    var score float32
    var isVIP bool
    fmt.Println("录入年龄, 姓名, 成绩, 是否VIP, 空格分割")
    fmt.Scanf("%d %s %f %t", &age, &name, &score, &isVIP)
}链接到当前文件 0
没有文件链接到当前文件