键盘输入和打印输出

一、打印输出

1.1 fmt包

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

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

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,%b\n", a, a)
fmt.Printf("%T,%f\n", b, b)
fmt.Printf("%T,%t\n", c, c)
fmt.Printf("%T,%s\n", d, d)
fmt.Printf("%T,%s\n", e, e)
fmt.Printf("%T,%d,%c\n", f, f, f)
fmt.Println("-----------------------")
fmt.Printf("%v\n", a)
fmt.Printf("%v\n", b)
fmt.Printf("%v\n", c)
fmt.Printf("%v\n", d)
fmt.Printf("%v\n", e)
fmt.Printf("%v\n", f) }

运行结果:

二、键盘输入

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的数值:%f\n",x,y) fmt.Scanf("%d,%f",&x,&y)
fmt.Printf("x:%d,y:%f\n",x,y)
}

运行结果:

2.2 bufio包读取

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

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

先创建Reader对象:

然后就可以各种读取了:

示例代码:

package main

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

运行效果:

文章中的源代码:

https://github.com/rubyhan1314/go_foundation

最新文章

  1. The certificate used to sign ***has either expired or has been revoked. An updated certificate is required to sign and install the application
  2. jQuery-3~4章
  3. WebStorm 10.0.4注册码
  4. Xcode7 创建HTTP请求报错
  5. 使用 IntraWeb (40) - 自定义 Session 数据
  6. Java魔法堂:注解用法详解——@Override
  7. Oracle bbed使用说明1
  8. Mvc自定义分页控件
  9. IIS7报错:如果要使用托管的处理程序,请安装 ASP.NET
  10. Unity3D 灰度shader(改编自NGUI)
  11. python 访问数据库
  12. hdu_1074_Doing Homework(状压DP)
  13. Vue+Element+Select获取选中的对象
  14. openvpn搭建和使用
  15. sys模块的介绍
  16. shiro学习(三)权限 authenrication
  17. macbook pro。已经连接上wifi,但是,不能上网的问题
  18. 畅谈Redis和Memcached的区别
  19. 如何将spring boot项目打包成war包
  20. 《Head First 设计模式》[01] 策略模式

热门文章

  1. 源生JS实现点击复制功能
  2. ETCD:运行时重新配置
  3. ASP.NET MVC教程三:ASP.NET MVC部署方式
  4. apk系统签名小技巧
  5. Android实现九宫拼图过程记录
  6. ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/itsdangerous' Consider using the `--user` option or check the permissions
  7. 设置API:wx.openSetting,wx.getSetting使用说明(示例:地图授权与取消授权后的重新授权)
  8. React 创建一个自动跟新时间的组件
  9. macOS 10.15 开启 HiDPI
  10. cookie和session了解吗