go 学习之fmt包
基本模式
fmt 方法可以大致分为 print, scan两类, 根据基础方法可以构建特定方法。
Print 将参数写入字符串或io.writer
scan 从字符串或 io.Reader 读取指定数据, 并输出
Print
Print 方法的几种模式
基础模式: [name] Print 返回默认格式化的字符串
写入模式: F[name] 返回写入字节 例如: Fprint
字符模式: S[name] 返回字符 例如: Sprint
模板模式: [name]f 根据模板格式化 例如: Printf
换行模式: [name]ln 输出后带换行 例如: Println
模式可组合, 例如 Fprintf, Sprintf
默认格式化,返回字符串
func Print(a ...interface{}) (n int, err error) fmt.Print("name", , []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", ) // n, err -> 6, nil Sprint 字符模式
func Sprint(a ...interface{}) string str := fmt.Sprint("name: %s", "coco")
// ->name: %stiger
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
// 当出入参数数量达到时,跳出输入 Fscan 从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
// 以空格作为分割, 当数据不符合类型定义时,返回该类型的默认值 Scanf 根据指定格式,提取标准输入数据
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
*/ // 当输入不符合指定格式时,将返回错误,跳出输入 Scanln 以换行符结束输入
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 学习之fmt包的更多相关文章
- Go语言学习之main包的讲解
### Go语言学习之main包的讲解 1.Go中main函数不支持任何返回值 2.可以通过os.Exit(0)来返回状态 func main(){ fmt.Println("hellow ...
- Golang fmt包使用小技巧
h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; direction: ltr; color: #000000; line-height: 200%; te ...
- Linux学习之RPM包管理-yum管理(十七)
Linux学习之RPM包管理-yum管理 目录 IP地址配置 网络yum源 yum命令 光盘yum源搭建 IP地址配置 IP+子网掩码就可以在局域网(内网)使用. IP+子网掩码+网关+DNS就可以访 ...
- Linux学习之RPM包管理-rpm命令管理(十六)
Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...
- golang格式化输出-fmt包用法详解
golang格式化输出-fmt包用法详解 注意:我在这里给出golang查询关于包的使用的地址:https://godoc.org 声明: 此片文章并非原创,大多数内容都是来自:https:// ...
- R语言网络爬虫学习 基于rvest包
R语言网络爬虫学习 基于rvest包 龙君蛋君:2015年3月26日 1.背景介绍: 前几天看到有人写了一篇用R爬虫的文章,感兴趣,于是自己学习了.好吧,其实我和那篇文章R语言爬虫初尝试-基于RVES ...
- golang fmt包
fmt fmt包实现了类似C语言printf和scanf的格式化I/O.主要分为向外输出内容和获取输入内容两大部分. 向外输出 标准库fmt提供了以下几种输出相关函数. Print Print系列函数 ...
- 『GoLang』fmt包的使用
目录 1. fmt 包初识 2. 格式化 verb 应用 2.1 通用 2.2 布尔值 2.3 整数 2.4 浮点数与复数 2.5 字符串和 []byte 2.6 指针 2.7 其他 flag 2.8 ...
- Golang学习 - fmt 包
------------------------------------------------------------ // Print 将参数列表 a 中的各个参数转换为字符串并写入到标准输出中. ...
随机推荐
- MVC加深理解
MVC MVC约定:Controllers文件夹 对应 Views文件夹:所有子文件的名称一一对应. 页面请求 -> 路由 -> 找到 controller/action -> re ...
- 2018-10-2-win10-uwp-win2d-特效
title author date CreateTime categories win10 uwp win2d 特效 lindexi 2018-10-02 21:20:46 +0800 2018-6- ...
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) - C
题目链接:http://codeforces.com/contest/831/problem/C 题意:给定k个评委,n个中间结果. 假设参赛者初始分数为x,按顺序累加这k个评委的给分后得到k个结果, ...
- 【转】WebRTC之RTCP
转自:https://blog.csdn.net/momo0853/article/details/88051312#RTPFBTransport_layer_FB_messagesNACKTrans ...
- set unused
使用 set unused 选项标记不再使用的列 使用 drop unsused columns 丢弃标记为unused的列 alter table tabName set unused column ...
- eclipse的代码格式化的个性配置
1.安装jdk a. 到http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载对应版本的jdk,安装到自己电脑上. ...
- unixbench
1.下载 https://github.com/kdlucas/byte-unixbench/archive/v5.1.3.tar.gz 2.修改Makefile 交叉编译 #CC=gccCC = a ...
- 三栏布局的三个典型方法(圣杯、双飞翼、flex)
聊聊三栏布局----左右定宽,中间自适应. 效果图: 圣杯布局 <!DOCTYPE html> <html> <head lang="en"> ...
- flask之url_for函数
一:url_for函数 干什么的?传入函数名,得到函数的路由地址(访问视图函数的地址) from flask import Flask from flask import url_for app = ...
- Test 6.29 T2 染色
问题描述 于是 CJK 轻轻松松就切了第一题."好,那么来看看第二题吧." JesseLiu 大手一挥,CJK 眼前立刻出现了一棵有 n 个节点的树."现在,你将要为这颗 ...