Go基础学习-fmt包

fmt包

主要分为向外输出内容和获取输入内容两大部分
Print:将内容输出到系统的标准输出
Fprint:将内容输出到一个io.Writer接口类型的变量;可以用这个函数往文件中写入内容
Sprint:把传入的数据生成并返回一个字符串。通常用于拼接字符串
Errorf:根据format参数生成格式化字符串并返回一个包含该字符串的错误返回error类型。通常用来自定义错误类型

package main

import (
	"fmt"
	"strings"
)

//fmt占位符
//fmt.Printf()格式化输出
//fmt.Print()连续不换行输出
//fmt.Println()换行输出
func main() {
	//打印内存地址
	ss := []int{1, 2, 3}
	fmt.Printf("%p\n", &ss) //使用%p  传的值得是内存地址(指针)
	fmt.Printf("%p\n", &ss[0])
	fmt.Printf("%p\n", &ss[1])
	fmt.Printf("%p\n", &ss[2])

	n := 100
	//打印类型
	fmt.Printf("%T\n", n)
	//打印值
	fmt.Printf("%v\n", n)
	//打印二进制
	fmt.Printf("%b\n", n)
	//打印十进制
	fmt.Printf("%d\n", n)
	//打印八进制
	fmt.Printf("%o\n", n)
	//打印十六进制
	fmt.Printf("%x\n", n)
	f := 12.34
	fmt.Printf("%b\n", f)//无小数部分、二进制指数的科学计数法,如-123456p-78
	fmt.Printf("%e\n", f)//科学计数法,如-1234.456e+78
	fmt.Printf("%E\n", f)//科学计数法,如-1234.456E+78
	fmt.Printf("%f\n", f)//有小数部分但无指数部分,如123.456
	fmt.Printf("%F\n", f)//同%f
	fmt.Printf("%g\n", f)//根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)
	fmt.Printf("%G\n", f)//根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)
	
	s := "hello/wzb"
	//打印字符串
	fmt.Printf("string:%s\n", s)
	fmt.Printf("value:%v\n", s)
	o := struct{ name string }{"teizhu"}
	fmt.Printf("%+v\n", o)//输出结构体时会添加字段名
	fmt.Printf("%v\n", o)
	fmt.Printf("%#v\n", o)//值的Go语法表示

	sc := 'c'
	fmt.Printf("字符:%c\n", sc)   //打印字符
	
	//Fprint
	// 向标准输出写入内容
	fmt.Fprintln(os.Stdout, "向标准输出写入内容")
	
	//Sprint
	ss1 := fmt.Sprint("铁柱")
	name1 := "铁柱"
	age := 18
	ss2 := fmt.Sprintf("name:%s,age:%d", name1, age)
	ss3 := fmt.Sprintln("铁柱")
	fmt.Println(ss1, ss2, ss3)
	//Errorf
	err := fmt.Errorf("这是一个错误") //定义一个error
	
	e := errors.New("原始错误e")
	w := fmt.Errorf("Wrap了一个错误%w", e)
}

Scan:从标准输入获取用户的输入。

  • 读取由空白符分隔的值保存到传递给本函数的参数中,换行符视为空白符
  • 如果读取的数据个数比提供的参数少,会返回一个错误报告原因。
  • 如果想完整获取输入的内容,而输入的内容可能包含空格,这种情况下可以使用bufio包来实现。
func bufioDemo() {
	reader := bufio.NewReader(os.Stdin) // 从标准输入生成读对象
	fmt.Print("请输入内容:")
	text, _ := reader.ReadString('\n') // 读到换行
	text = strings.TrimSpace(text)
	fmt.Printf("%#v\n", text)
}

Fscan:类似scan不过不是从标准输入中读取数据而是从io.Reader中读取数据
Sscan:类似scan不过不是从标准输入中读取数据而是从指定字符串中读取数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值