c语言实数的输出和占位_Golang语言基础教程:键盘输入和打印输出

一、打印输出

1.1 fmt包

fmt包实现了类似C语言printf和scanf的格式化I/O。格式化verb('verb')源自C语言但更简单。

详见官网fmt的API:https://golang.google.cn/pkg/fmt/

8a5244c3250a83dffe6ca723615fdb43.png

1.2 导入包

import "fmt"

1.3 常用打印函数

打印:

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)

格式化打印中的常用占位符:

格式化打印占位符:
            %v,原样输出
            %T,打印类型
            %t,bool类型
            %s,字符串
            %f,浮点
            %d,10进制的整数
            %b,2进制的整数
            %o,8进制
            %x,%X,16进制
                %x:0-9,a-f
                %X:0-9,A-F
            %c,打印字符
            %p,打印地址
            。。。

示例代码:

package main
​
import (
    "fmt"
)
​
func main() {
    a := 100           //int
    b := 3.14          //float64
    c := true          // bool
    d := "Hello World" //string
    e := `Ruby`        //string
    f := 'A'
    fmt.Printf("%T,%bn", a, a)
    fmt.Printf("%T,%fn", b, b)
    fmt.Printf("%T,%tn", c, c)
    fmt.Printf("%T,%sn", d, d)
    fmt.Printf("%T,%sn", e, e)
    fmt.Printf("%T,%d,%cn", f, f, f)
    fmt.Println("-----------------------")
    fmt.Printf("%vn", a)
    fmt.Printf("%vn", b)
    fmt.Printf("%vn", c)
    fmt.Printf("%vn", d)
    fmt.Printf("%vn", e)
    fmt.Printf("%vn", f)
​
}
​

运行结果:

6aa476a827b64e91a945634646dd9b48.png

二、键盘输入

2.1 fmt包读取键盘输入

常用方法:

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)

package main
​
import (
    "fmt"
)
​
func main() {
    var x int
    var y float64
    fmt.Println("请输入一个整数,一个浮点类型:")
    fmt.Scanln(&x,&y)//读取键盘的输入,通过操作地址,赋值给x和y   阻塞式
    fmt.Printf("x的数值:%d,y的数值:%fn",x,y)
​
    fmt.Scanf("%d,%f",&x,&y)
    fmt.Printf("x:%d,y:%fn",x,y)
}

运行结果:

28fe059373cdbbae2860cd2b5cab2dda.png

2.2 bufio包读取

https://golang.google.cn/pkg/bufio/

bufio包中都是IO操作的方法:

先创建Reader对象:

64bc9666d36cb2ee5837398e4dd8add3.png

然后就可以各种读取了:

80cc5023d8f69cb784b2d1397b55c9aa.png

示例代码:

package main
​
import (
    "fmt"
    "os"
    "bufio"
)
​
func main() {
    fmt.Println("请输入一个字符串:")
    reader := bufio.NewReader(os.Stdin)
    s1, _ := reader.ReadString('n')
    fmt.Println("读到的数据:", s1)
​
}

运行效果:

068a6554853260c55af5daa005ef3935.png

文章中的源代码:

https://github.com/rubyhan1314/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值