【转】 Golang输入输出格式化Printf Springf Fprintf..

package main

import "fmt"import "os"

type point struct {   x, y int}

func main() {

   // Go 为常规 Go 值的格式化设计提供了多种打印方式。例   // 如,这里打印了 `point` 结构体的一个实例。   p := point{1, 2}   fmt.Printf("%v\n", p)

   // 如果值是一个结构体,`%+v` 的格式化输出内容将包括   // 结构体的字段名。   fmt.Printf("%+v\n", p)

   // `%#v` 形式则输出这个值的 Go 语法表示。例如,值的   // 运行源代码片段。   fmt.Printf("%#v\n", p)

   // 需要打印值的类型,使用 `%T`。   fmt.Printf("%T\n", p)

   // 格式化布尔值是简单的。   fmt.Printf("%t\n", true)

   // 格式化整形数有多种方式,使用 `%d`进行标准的十进   // 制格式化。   fmt.Printf("%d\n", 123)

   // 这个输出二进制表示形式。   fmt.Printf("%b\n", 14)

   // 这个输出给定整数的对应字符。   fmt.Printf("%c\n", 33)

   // `%x` 提供十六进制编码。   fmt.Printf("%x\n", 456)

   // 对于浮点型同样有很多的格式化选项。使用 `%f` 进   // 行最基本的十进制格式化。   fmt.Printf("%f\n", 78.9)

   // `%e` 和 `%E` 将浮点型格式化为(稍微有一点不   // 同的)科学技科学记数法表示形式。   fmt.Printf("%e\n", 123400000.0)   fmt.Printf("%E\n", 123400000.0)

   // 使用 `%s` 进行基本的字符串输出。   fmt.Printf("%s\n", "\"string\"")

   // 像 Go 源代码中那样带有双引号的输出,使用 `%q`。   fmt.Printf("%q\n", "\"string\"")

   // 和上面的整形数一样,`%x` 输出使用 base-16 编码的字   // 符串,每个字节使用 2 个字符表示。   fmt.Printf("%x\n", "hex this")

   // 要输出一个指针的值,使用 `%p`。   fmt.Printf("%p\n", &p)

   // 当输出数字的时候,你将经常想要控制输出结果的宽度和   // 精度,可以使用在 `%` 后面使用数字来控制输出宽度。   // 默认结果使用右对齐并且通过空格来填充空白部分。   fmt.Printf("|%6d|%6d|\n", 12, 345)

   // 你也可以指定浮点型的输出宽度,同时也可以通过 宽度.   // 精度 的语法来指定输出的精度。   fmt.Printf("|%6.2f|%6.2f|\n", 1.2, 3.45)

   // 要最对齐,使用 `-` 标志。   fmt.Printf("|%-6.2f|%-6.2f|\n", 1.2, 3.45)

   // 你也许也想控制字符串输出时的宽度,特别是要确保他们在   // 类表格输出时的对齐。这是基本的右对齐宽度表示。   fmt.Printf("|%6s|%6s|\n", "foo", "b")

   // 要左对齐,和数字一样,使用 `-` 标志。   fmt.Printf("|%-6s|%-6s|\n", "foo", "b")

   // 到目前为止,我们已经看过 `Printf`了,它通过 `os.Stdout`   // 输出格式化的字符串。`Sprintf` 则格式化并返回一个字   // 符串而不带任何输出。   s := fmt.Sprintf("a %s", "string")   fmt.Println(s)

   // 你可以使用 `Fprintf` 来格式化并输出到 `io.Writers`   // 而不是 `os.Stdout`。   fmt.Fprintf(os.Stderr, "an %s\n", "error")}

原文地址:https://www.cnblogs.com/xiangxiaolin/p/11886391.html

时间: 2024-09-30 13:59:43

【转】 Golang输入输出格式化Printf Springf Fprintf..的相关文章

Go输入输出格式化Printf

package main import ( "fmt" "os" ) type point struct { x, y int } func main() { p := point{1, 2} fmt.Printf("1: %v\n", p) //这里打印了 `point` 结构体的一个实例. 1: {1 2} fmt.Printf("2: %+v\n", p) //打印了结构体的字段名和值. 2: {x:1 y:2} fmt

【C语言天天练(十三)】printf、fprintf、sprintf和snprintf函数

#include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...); printf是标准的输出函数. fprintf传送格式化输

Golang时间格式化

PHP中格式化时间很方便,只需要一个函数就搞定: date("Y-m-d H:i:s") 而在Golang中,用的是"2006-01-02 15:04:05"这样的layout string: time.Now().Format("2006-01-02 15:04:05") 2006表示year 01表示month 02表示day 15表示hour 04表示minute 05表示seconds 只能用以上这几个数字来格式化时间,假如把这里的200

printf sprintf fprintf

printf.sprintf与fprintf 的用法区分 1.printf 是和标准输出文件(stdout)关联的,fprintf 则没有这个限制. 2.fprintf是用于文件操作的,原型是int fprintf( FILE *stream, const char *format [, argument ]...); 3.sprintf是格式化输出到一个字符串,fprintf是格式化输出到一个stream,通常是到文件. int   fprintf(   FILE   *stream,   c

c++ 格式化printf

类型为uint64_t的变量,使用printf进行打印时,需要区分操作系统: 64位系统:使用%ld 32位系统:使用%llu

c语言 格式化文件输入输出

已经对普通的格式化输入输出函数scanf和printf很熟悉了,格式化文件输入输出函数是在两个函数名前加f,表明"读写对象是磁盘文件而不是键盘和显示器". 两个函数的原型为: int fprintf(FILE , const char , -); int fscanf(FILE , const char , -); fprintf和fscanf与普通的printf和scanf用法几乎一致,唯一的不同在于多了第一个参数-文件指针,用以标识输入的源文件或输出的目的文件. 当输入输出正确时,

Boost 的C++ 格式化输出函式库:Format

他最大的特色是在于它可以使用C 语言中printf 的格式化字串,来针对C++ 的iostream 做输出.或是产生格式化的字串:相较于C++ iostream 的manipulator,boost::format 在使用上更为直觉.简单. 而且和printf 不同的地方在于,他又有C++ iostream 的type safe.可以支持自定义类型的输出 官方网站的介绍可以参考: http://www.boost.org/doc/libs/1_44_0/libs/format/index.htm

C语言Printf格式

使用printf打印时发现,如果数据类型和打印使用的类型不一致,结果就是混乱的. 这是因为printf本身并不进行数据的类型转换,他只是把输入按照给定的数据格式输出,如果二者不匹配,那么由于不同数据类型的二进制存储方式不一样,读出的数据就是错误的. 所以,为求稳妥,在使用printf,fprintf,scanf,fscanf在类型不一致时还是手动转化吧! printf("%f\n",1.3); printf("%d %f\n",1.3,1.3); 打印结果: 1.3

printf()用法总结

/*使用转换说明符*/#include<stdio.h>#include<string.h>#define PI 3.141593 //创建符号常量的第一种方法 #define PAGES 93179962#define BLURB "Authentic imtation !"#define WORDS 65618#define PAGES2 336int main(void){ printf("\n\n\t\t/*使用转换说明符*/\n\n"