内容简介:fmt 方法可以大致分为Print 方法的几种模式模式可组合, 例如
基本模式
fmt 方法可以大致分为 print
, scan
两类, 根据基础方法可以构建特定方法。
Print scan
Print 方法的几种模式
Fprint Sprint Printf Println
模式可组合, 例如 Fprintf
, Sprintf
默认格式化,返回字符串
func Print(a ...interface{}) (n int, err error)
fmt.Print("name", 23, []byte("show me"))
// -> name23 [115 104 111 119 32 109 101]
Printf 模板模式
根据模板使用默认格式输出
func Printf(format string, a ...interface{}) ( str string, err error)
str, _ := fmt.Printf("name: %s", "coco")
// str -> "name: coco"
Fprint 写入模式
将数据写入 io.Writer
func Fprint(w io.Writer, a ...interface{}) (n int, err error)
file, _ := os.OpenFile("./target.js", os.O_RDWR, os.ModeAppend)
n, err := fmt.Fprint(file, "name", 24)
// n, err -> 6, nil
Sprint 字符模式
func Sprint(a ...interface{}) string
str := fmt.Sprint("name: %s", "coco")
// -> name: coco
Scan
-
Scan 方法的几种模式, 所有方法都返回 写入
字节数(n)及错误(err) - 基础模式: [name] Scan 将输入值写入参数中
-
读取模式: F[name] 从io.Reader 读取数据 例如:
Fscan -
字符模式: S[name] 从字符串读取数据 例如:
Sscan -
模板模式: [name]f 根据模板提取数据 例如:
scanf -
换行模式: [name]ln 以换行符号做读取结束 例如:
scanln
Scan
根据标准输入,提取数据
func Scan(a ...interface{}) (n int, err error)
var name string
var age int
// 这里参数需要传入指针类型,获取写入数据
if _, err := fmt.Scan(&name, &age); err != nil{
fmt.Println(err)
return
}
fmt.Printf("name: $s, age: %d", name, age)
// 终端输入 coco 24
// 终端输出 name: coco, age: 24
// 当出入参数数量达到时,跳出输入
从io.Reader读取数据,并解析
func Fscan(r io.Reader, a ...interface{}) (n int, err error)
// target.js
let name = "coco"
// main.go
var t string
var n string
file, _ := os.Open("./target.js")
fmt.Fscan(file, &t, &n)
// t, n -> let 0
// 以空格作为分割, 当数据不符合类型定义时,返回该类型的默认值
根据指定格式,提取标准输入数据
func Scanf(format string, a ...interface{}) (n int, err error)
var name string
var age int
fmt.Scanf("name: %s\nage: %d", &name, &age)
fmt.Println(name,'\n', age)
/*
终端输入:
name: coco
age: 24
*/
/*
终端输出:
coco
24
*/
// 当输入不符合指定格式时,将返回错误,跳出输入
以换行符结束输入
func Scanln(a ...interface{}) (n int, err error)
var name string
var age int
fmt.Scanln(&name, &age)
/*
终端输入:
coco 24
[换行, 结束输入]
*/
// name, age -> coco 24
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- GO获取api 接口json格式数据代码
- Java 如何设计 API 接口,实现统一格式返回?
- 分布式之API接口返回格式如何优雅设计?
- TCP数据段格式+UDP数据段格式详解
- 解决从旧格式的 csproj 迁移到新格式的 csproj 格式 AssemblyInfo 文件值重复问题
- CSS——CSS 基本视觉格式化:① “块盒子”格式化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
算法竞赛入门经典(第2版)
刘汝佳 / 清华大学出版社 / 2014-6-1 / CNY 49.80
《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量......一起来看看 《算法竞赛入门经典(第2版)》 这本书的介绍吧!