1.7 标准输入与输出
程序员文章站
2022-04-09 21:41:38
...
输入输出概述
略
博彩游戏
该例演示了标准输入的用法
import (
"fmt"
"math/rand"
"time"
)
func main() {
fmt.Println("亲请输入**金额和**球队:")
var money int
var team string
fmt.Scanf("%d+%s", &money, &team)
fmt.Printf("您**了%s%d万元,人生巅峰即将开始...\n",team,money)
time.Sleep(1 * time.Second)
//time.Now().Unix()获取当前时间距离1970年零时逝去的秒数
//rand.NewSource(time.Now().Unix())每秒更新一个随机数的种子,一旦种子变化随机数也随之变化
myrand := rand.New(rand.NewSource(time.Now().Unix()))
//获得[0-100)的随机数
luckyNumber := myrand.Intn(100)
fmt.Println("luckyNumber=", luckyNumber)
if luckyNumber > 10 {
fmt.Println("靠海别野欢迎你")
} else {
fmt.Println("天台欢迎你")
}
}
格式化打印
该例演示了标准输出的用法
func main() {
type cat struct{
name string
lives int
}
c := cat{"Coding喵",1}
/*
·几乎所有占位符都可以前置宽度和左右对齐:10%s代表10宽度右对齐,-10%s代表10宽度左对齐
·输出中带有小数位的,都可以指定其精度:.2%e
*/
//通用占位符
fmt.Println("-----通用占位符-----")
fmt.Printf("%v\n",c)//{Coding喵 1}
fmt.Printf("%+v\n",c)//{name:Coding喵 lives:1}
fmt.Printf("%#v\n",c)//main.cat{name:"Coding喵", lives:1}
fmt.Printf("%T\n",c)//main.cat
fmt.Printf("%f%%\n",12.34)//12.340000%
//基本类型占位符
fmt.Println("-----基本类型占位符-----")
fmt.Printf("%d\n",123)//123,整型(decimal)
fmt.Printf("%f\n",123.45)//123.450000,浮点型(float)
fmt.Printf("%t\n",false)//false,布尔类型(true)
fmt.Printf("%s\n","hello")//hello,字符串类型(string)
fmt.Printf("%q\n","hello")//"hello",带引号字符串类型(quotation)
fmt.Printf("%p\n",&c)//0xc04205c3e0,指针类型(pointer)
//进制占位符
fmt.Println("-----进制占位符-----")
fmt.Printf("%b\n",123)//1111011,二进制(binary)
fmt.Printf("%o\n",123)//173,八进制进制(octal)
fmt.Printf("%d\n",123)//123,十进制(decimal)
fmt.Printf("%x\n",123)//7b,十六进制小写(hex)
fmt.Printf("%X\n",123)//7B,十进制大写(hex)
//科学计数法
fmt.Println("-----科学计数法-----")
fmt.Printf("%e\n",123456789012345.0)//1.234568e+14
fmt.Printf("%e\n",0.00000000012345)//1.234500e-10
fmt.Printf("%E\n",123456789012345.0)//1.234568E+14
fmt.Printf("%E\n",0.00000000012345)//1.234500E-10
fmt.Printf("%g\n",12345.0)//12345 智能选择【常规浮点数】或【科学计数法】显示
fmt.Printf("%g\n",123456789012345.0)//1.23456789012345e+14
fmt.Printf("%G\n",12345.0)//12345
fmt.Printf("%G\n",0.0000000012345)//1.2345E-09
//字符集占位符
fmt.Println("-----科学计数法-----")
fmt.Printf("%c\n",123)//{ Unicode字符的【字符形式】
fmt.Printf("%U\n",123)//U+007B Unicode字符的【十六进制序号形式】
fmt.Printf("%c\n",'{')//{ Unicode字符的【字符形式】
fmt.Printf("%U\n",'{')//U+007B Unicode字符的【字符形式】
//设置输出的宽度和对齐方式
fmt.Println("-----宽度和对齐-----")
fmt.Printf("%20v\n",c)
fmt.Printf("%20d\n",123)
fmt.Printf("%20b\n",123)
fmt.Printf("%20e\n",123456789012345.0)
fmt.Printf("%20c\n",123)
fmt.Printf("%-20v\n",c)
fmt.Printf("%-20d\n",123)
fmt.Printf("%-20b\n",123)
fmt.Printf("%-20e\n",123456789012345.0)
fmt.Printf("%-20c\n",123)
//设置输出的小数精度
fmt.Println("-----小数精度-----")
fmt.Printf("%.2f%%\n",12.34)//12.340000%
fmt.Printf("%.2f\n",123.45)
fmt.Printf("%.2e\n",123456789012345.0)//1.234568e+14
fmt.Printf("%.2e\n",0.00000000012345)//1.234500e-10
fmt.Printf("%.2E\n",123456789012345.0)//1.234568E+14
fmt.Printf("%.2E\n",0.00000000012345)//1.234500E-10
//g/G的精度代表数字的总位数
fmt.Printf("%.3g\n",12345.0)//12345 智能选择【常规浮点数】或【科学计数法】显示
fmt.Printf("%.3g\n",123456789012345.0)//1.23456789012345e+14
fmt.Printf("%.3G\n",12345.0)//12345
fmt.Printf("%.3G\n",0.0000000012345)//1.2345E-09
}
fmt的Sprint系列函数将预期输出转换为字符串
但并不真的输出出来
func main() {
//打印:造一个字符串,并输出到控制台
/* fmt.Print("abc")
fmt.Println("abc")
fmt.Printf("abc%d\n",123)*/
//sprint:造一个字符串,返回之
//fmt.Print(123, 456.78, "你妹", [3]int{6, 6, 6})
mstr := fmt.Sprint(123, 456.78, "你妹", [3]int{6, 6, 6})
//结果尾部包含一个\n
mstr = fmt.Sprintln("abc")
mstr = fmt.Sprintf("当一只猪拥有%.2e%s时,它就不再是一只猪,而是%s\n",1234567890.0,"BTC","大帅比")
fmt.Print(mstr)
}
上一篇: linux 设备树调试必须知道的几个路径
推荐阅读
-
adobe audition音频输入采样率与输出设备不匹配该怎么办?
-
神奇的shell命令行输入与输出功能介绍
-
Linux文本流和标准输入、标准输出、标准错误与重定向介绍
-
Python零基础入门学习之输入与输出
-
linux shell数据重定向(输入重定向与输出重定向)详细分析
-
MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射
-
python3.4控制用户输入与输出的方法
-
Python语法基础(数据类型、语句与函数、输入输出)
-
adobe audition音频输入采样率与输出设备不匹配该怎么办?
-
C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点