精华内容
下载资源
问答
  • Go fmt.Println()函数:将内容打印到控制台。

    目录

    描述

    语法和参数

    返回值

    使用示例

    空打印

    打印字符

    打印字符串

    打印整型

    打印浮点型

    打印结构体

    打印map

    打印数组

    打印切片

    打印channel

    打印函数


    描述

    fmt.Println函数使用参数的默认格式将参数写入标准输出,并追加一个换行符。如果是多参数,那么参数的输出之间会添加空格。它返回写入的字节数和遇到的任何错误。

    语法和参数

    fmt.Println(args...)
    名称 含义 备注
    args 参数列表 可省略的参数,参数可以是任意数量。

    返回值

    fmt.Println()函数返回输入到标准输出的字节数和写入错误。

    返回值 说明
    n int类型。表示写入到标准输出的字节数。
    err error类型。表示写入到标准输出的错误。

    当写入标准输出成功时,err为null。

    使用示例

    空打印

    当没有任何参数时,fmt.Println()函数仅仅打印一个换行符。此时函数返回1,null。

    package main
    
    import "fmt"
    
    func main() {
    	n, e := fmt.Println()
    	println(n)
    	println(e)
    }
    

    运行结果:

    
    1
    (0x0,0x0)

    打印字符

    fmt.Println函数可以打印字符,需要注意的是fmt.Println()将字符转换成unicode码后输出并换行。

    package main
    
    import "fmt"
    
    func main() {
    	n, e := fmt.Println('a')
    	println(n)
    	println(e)
    }
    

    运行结果:

    97
    3
    (0x0,0x0)
    

    打印字符串

    fmt.Println函数可以直接打印字符串并换行。

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	fmt.Println("Hello Golang!")
    	fmt.Println("Hi, Kubernetes.")
    }
    

    运行结果:

    Hello Golang!
    Hi, Kubernetes.

    打印整型

    fmt.Println()将整型参数打印到标准输出并换行。

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	n, _ := fmt.Println(23)
    	fmt.Println(n)
    }
    

    运行结果:

    23
    3
    

    打印浮点型

    fmt.Println()()将浮点型参数打印到标准输出并换行。

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	n, _ := fmt.Println(23.567)
    	fmt.Println(n)
    }
    

    运行结果:

    23.567
    7
    

    打印结构体

    package main
    
    import "fmt"
    
    type Employee struct {
    	Id		string
    	Name	string
    	Sex		string
    	Age		int
    }
    
    func main() {
    	employee := Employee{
    		Id: "NSB-EXT001",
    		Name: "Bell",
    		Sex: "man",
    		Age: 25,
    	}
    
    	fmt.Println(employee)
    }
    

    fmt.Println()函数打印出结构体的内容:

    {NSB-EXT001 Bell man 25}
    

    打印map

    package main
    
    import "fmt"
    
    func main() {
    	message := map[string]string{
    		"China": "Beijing",
    		"Mongolia": "Ulan Bator",
    		"Finland": "Helsinki",
    	}
    
    	fmt.Println(message)
    }
    

    fmt.Println()打印出map的键值对:

    map[China:Beijing Finland:Helsinki Mongolia:Ulan Bator]
    

    打印数组

    package main
    
    import "fmt"
    
    func main() {
    	numbers := [6]int{3, 6, 9, 2, 1}
    	fmt.Println(numbers)
    }
    

    fmt.Println()打印出数组的内容:

    [3 6 9 2 1 0]

    打印切片

    package main
    
    import "fmt"
    
    func main() {
    	numbers := []int{3, 6, 9, 2, 1}
    	fmt.Println(numbers)
    }
    

    fmt.Println()打印出切片的内容:

    [3 6 9 2 1]

    打印channel

    与println()函数一样,fmt.Println()函数打印出channel变量的地址。

    package main
    
    import "fmt"
    
    func main() {
    	demo := make(chan int, 5)
    	demo <- 3
    	fmt.Println(demo)
    }

    运行结果:

    0xc000130000

    打印函数

    与println()函数一样,fmt.Println()函数打印出函数的变量的地址。

    package main
    
    import (
    	"fmt"
    	"strings"
    )
    
    func main() {
    	fmt.Println(strings.Split)
    }

    运行结果:

    0x109dbf0

    展开全文
  • go fmt 命令主要是用来帮你格式化所写好的代码文件【很多第三方集成软件都是使用了go fmt命令】 一、使用: go fmt <文件名>.go 使用go fmt命令,更多时候是用gofmt,而且需要参数-w,否则格式化结果不会...

    在这里插入图片描述

    go fmt

    命令主要是用来帮你格式化所写好的代码文件【很多第三方集成软件都是使用了go fmt命令】

    一、使用:

    go fmt <文件名>.go
    使用go fmt命令,更多时候是用gofmt,而且需要参数-w,否则格式化结果不会写入文件。gofmt -w src,可以格式化整个项目。

    二、参数介绍

    1. -l 显示那些需要格式化的文件
    2. -w 把改写后的内容直接写入到文件中,而不是作为结果打印到标准输出。
    3. -r 添加形如“a[b:len(a)] -> a[b:]”的重写规则,方便我们做批量替换
    4. -s 简化文件中的代码
    5. -d 显示格式化前后的diff而不是写入文件,默认是false
    6. -e 打印所有的语法错误到标准输出。如果不使用此标记,则只会打印不同行的前10个错误。
    7. -cpuprofile 支持调试模式,写入相应的cpufile到指定的文件 作用区域
    展开全文
  • go语言fmt包的基本用法 原文参考:https://www.liwenzhou.com/posts/Go/go_fmt/ fmt.print func main() { fmt.Print("在终端打印信息") name := "沙河小王子" fmt.Printf("我是%s\n", name) fmt.Println("在...

    go语言中fmt包的基本用法  原文参考:https://www.liwenzhou.com/posts/Go/go_fmt/

    fmt.print

    func main() {
    	fmt.Print("在终端打印信息")
    	name := "沙河小王子"
    	fmt.Printf("我是%s\n", name)
    	fmt.Println("在终端打印一条显示")
    	fmt.Println(name) //直接打印变量内容
    
    }
    输出结果
    C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
    在终端打印信息我是沙河小王子
    在终端打印一条显示
    沙河小王子
    

    Fprint

    func main() {
    	//fprint
    	//向标准输出写入内容
    	fmt.Fprintln(os.Stdout, "向标准输出写入此内容")
    	fileObj, err := os.OpenFile("./xx.txt", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
    	if err != nil {
    		fmt.Println("打开文件出错,err:", err)
    		return
    	}
    	name := "沙河小王子"
    	//向打开的文件句柄中写内容
    	fmt.Fprintf(fileObj, "往文件中写入信息:%s", name)
    	//注意只要满足io.writer的接口类型都支持写入
    }
    输出结果
    C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
    向标准输出写入此内容
    

    Sprint

    func main() {
    	//Sprint系列函数会吧传入的数据生成并返回一个字符串这里的S 貌似就是String的首字母
    	s1 := fmt.Sprint("沙河小王子\n")
    	name := "沙河小王子"
    	age := 18
    	s2 := fmt.Sprintf("name: %s, age %d\n", name, age)
    	s3 := fmt.Sprintln("沙河小王子")
    	fmt.Println(s1, s2, s3)
    }
    
    输出结果
    C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
    沙河小王子
     name: 沙河小王子, age 18
     沙河小王子
    
    

    *printf带有占位符的打印

    //格式化占位符
    //*printf结尾的方法都支持format格式化参数,这里我们按照占位符将被替换的变量类型进行划分,方便查询和记忆.
    func main() {
    	fmt.Printf("%v\n", 100)  //打印int类型
    	fmt.Printf("%v\n", false) //打印bool类型
    	o := struct {
    		name string
    	}{"小孙子"}
    	fmt.Printf("%v\n", o) //打印struct类型
    	fmt.Printf("%#v\n", o) //标准化打印输出struct类型
    	fmt.Printf("%T\n", o) //打印类型
    	fmt.Printf("100%%\n") //打印百分数
    }
    输出结果
    C:\Users\34826\AppData\Local\Temp\___go_build_main_go__1_.exe #gosetup
    100
    false
    {小孙子}
    struct { name string }{name:"小孙子"}
    struct { name string }
    100%
    

    整型

    占位符 说明
    %b 表示为二进制
    %c 该值对应的unicode码值
    %d 表示为十进制
    %o 表示为八进制
    %x 表示为十六进制,使用a-f
    %X 表示为十六进制,使用A-F
    %U 表示为Unicode格式:U+1234,等价于”U+%04X”
    %q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示

     

    示例代码如下:
    
    n := 65
    fmt.Printf("%b\n", n)
    fmt.Printf("%c\n", n)
    fmt.Printf("%d\n", n)
    fmt.Printf("%o\n", n)
    fmt.Printf("%x\n", n)
    fmt.Printf("%X\n", n)
    输出结果如下:
    
    1000001
    A
    65
    101
    41
    41

    字符串和[]byte

    占位符 说明
    %s 直接输出字符串或者[]byte
    %q 该值对应的双引号括起来的go语法字符串字面值,必要时会采用安全的转义表示
    %x 每个字节用两字符十六进制数表示(使用a-f
    %X 每个字节用两字符十六进制数表示(使用A-F)

     获取输入

    fmt.Scan

    func main() {
    	var (
    		name    string
    		age     int
    		married bool
    	)
    	fmt.Scan(&name, &age, &married)                                     //这里接受三个值,分别以空格进行分隔.
    	fmt.Printf("扫描结果:name : %v,age %v,married :%v", name, age, married) //这里打印接受的三个值.
    }
    
    输出结果
    D:\Go\Go\src\code.oldboy.com\studygolang\05lesson5\xueshengguanlixit>xueshengguanlixit.exe
    xiaowangzi  18 false
    扫描结果:name : xiaowangzi,age 18,married :false

    fmt.Scanf

    func main() {
    	var (
    		name    string
    		age     int
    		married bool
    	)
    	fmt.Scanf("1,%s 2,%d 3,%t", &name, &age, &married)                  //这里预留了三个占位符,
    	fmt.Printf("扫描结果:name : %s,age %d,married :%t", name, age, married) //这里打印接受的三个值.
    }
    输出结果
    D:\Go\Go\src\code.oldboy.com\studygolang\05lesson5\xueshengguanlixit>xueshengguanlixit.exe
    1,xiaohuozi 2,22 3,true
    扫描结果:name : xiaohuozi,age 22,married :true
    
    
    这里说明一下
        在使用Scanf的时候接受终端输入的格式要与终端中输入的格式一样才可以.要不然是无法接收到输入值的.

    Scanln

    //获取输入
    func main() {
    	var (
    		name    string
    		age     int
    		married bool
    	)
    	fmt.Scanln(&name, &age, &married)                                   //这里输入接收值,遇到回车就进行结束接受扫描操作.
    	fmt.Printf("扫描结果:name : %s,age %d,married :%t", name, age, married) //这里打印接受的三个值.
    }
    输出结果
    D:\Go\Go\src\code.oldboy.com\studygolang\05lesson5\xueshengguanlixit>xueshengguanlixit.exe
    xiaolaodi 22 true
    扫描结果:name : xiaolaodi,age 22,married :true
    
    说明一下:
        这里使用空格进行分隔,连续接受三个值.遇到换行符就终止
    D:\Go\Go\src\code.oldboy.com\studygolang\05lesson5\xueshengguanlixit>xueshengguanlixit.exe
    xiaolaodi
    扫描结果:name : xiaolaodi,age 0,married :false
    这里只输入了一个值,然后使用回车后就直接将一个值传入到代码中了,其余的是默认类型的零值.

    bufio.Newreader

    //使用bufil.NewReader
    func main() {
    	reader := bufio.NewReader(os.Stdin) //从标准输入生成读对象
    	fmt.Print("请输入内容:")                //这里使用print不换行
    	text, _ := reader.ReadString('\n') //这里表示读到换行符
    	text = strings.TrimSpace(text)     //去掉前后空格
    	fmt.Printf("%#v\n", text) //打印输入内容
    }
    输出结果
        D:\Go\Go\src\code.oldboy.com\studygolang\05lesson5\xueshengguanlixit>xueshengguanlixit.exe
    请输入内容:asd asd fkash aksjdh kaakjl kjadfhlkasdfjlk
    "asd asd fkash aksjdh kaakjl kjadfhlkasdfjlk"
    

     

    展开全文
  • Go语言fmt包Printf方法详解

    千次阅读 2018-01-29 13:01:08
    Go语言的标准输出流在打印到屏幕时有些参数跟别的语言(比如C#和Java)不同,下面是我整理的一些常用的格式化输入操作。 General %v 以默认的方式打印变量的值 %T 打印变量的类型 Integer %+d 带符号的整型,...

    下面引用自:https://www.jianshu.com/p/8be8d36e779c

    Go语言的标准输出流在打印到屏幕时有些参数跟别的语言(比如C#和Java)不同,下面是我整理的一些常用的格式化输入操作。

    General

    • %v 以默认的方式打印变量的值
    • %T 打印变量的类型

    Integer

    • %+d 带符号的整型,fmt.Printf("%+d", 255)输出+255
    • %q 打印单引号
    • %o 不带零的八进制
    • %#o 带零的八进制
    • %x 小写的十六进制
    • %X 大写的十六进制
    • %#x 带0x的十六进制
    • %U 打印Unicode字符
    • %#U 打印带字符的Unicode
    • %b 打印整型的二进制

    Integer width

    • %5d 表示该整型最大长度是5,下面这段代码

        fmt.Printf("|%5d|", 1)
        fmt.Printf("|%5d|", 1234567)
      

    输出结果如下:

    |    1|
    |1234567|   
    
    • %-5d则相反,打印结果会自动左对齐
    • %05d会在数字前面补零。

    Float

    • %f (=%.6f) 6位小数点
    • %e (=%.6e) 6位小数点(科学计数法)
    • %g 用最少的数字来表示
    • %.3g 最多3位数字来表示
    • %.3f 最多3位小数来表示

    String

    • %s 正常输出字符串
    • %q 字符串带双引号,字符串中的引号带转义符
    • %#q 字符串带反引号,如果字符串内有反引号,就用双引号代替
    • %x 将字符串转换为小写的16进制格式
    • %X 将字符串转换为大写的16进制格式
    • % x 带空格的16进制格式

    String Width (以5做例子)

    • %5s 最小宽度为5
    • %-5s 最小宽度为5(左对齐)
    • %.5s 最大宽度为5
    • %5.7s 最小宽度为5,最大宽度为7
    • %-5.7s 最小宽度为5,最大宽度为7(左对齐)
    • %5.3s 如果宽度大于3,则截断
    • %05s 如果宽度小于5,就会在字符串前面补零

    Struct

    • %v 正常打印。比如:{sam {12345 67890}}
    • %+v 带字段名称。比如:{name:sam phone:{mobile:12345 office:67890}
    • %#v 用Go的语法打印。
      比如main.People{name:”sam”, phone:main.Phone{mobile:”12345”, office:”67890”}}

    Boolean

    • %t 打印true或false

    Pointer

    • %p 带0x的指针
    • %#p 不带0x的指针


    作者:gowk
    链接:https://www.jianshu.com/p/8be8d36e779c
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • Go语言fmt.Printf使用指南 fmt标准库是我们在学习Go语言过程中接触最早最频繁的一个了,本文介绍了fmtb包的一些常用函数。 fmt fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取...
  • go fmt

    2019-04-25 11:00:03
    转载:https://www.cnblogs.com/yinzhengjie/p/7680829.html ... golang格式化输出-fmt包用法详解 注意:我在这里给出golang查询关于包的使用的地址:https://godoc.org 声明:此片文章并非原创,大多数内容都是来...
  • 2.go语言中变量,fmt包以及注释
  • golangfmt用法

    万次阅读 2014-10-09 16:12:18
    fmt包实现了格式化的I/O函数,这点类似C语言中的printf和scanf,但是更加简单. 占位符: 通用占位符: %v 值的默认格式。当打印结构体时,“加号”标记(%+v)会添加字段名 %#v 相应值的Go语法表示 %T ...
  • // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. ...// go/src/fmt/print.go // version 1...
  • go标准命令详解0.9 go fmt与gofmt

    万次阅读 2015-12-31 20:38:06
    搬运自github赫林的go_command_tutorial,绝对...注意,当代码包还有子代码包时,子代码包中的Go语言源码文件是包含在内的。也就是说,go fmt命令只会格式化被直接保存在指定代码包对应目录下的Go语言源码文件。和g
  • Golang中的fmt用法

    千次阅读 2017-11-13 13:42:12
    打印结构体时,“加号”标记(%+v)会添加字段名 %#v 相应值的Go语法表示 %T 相应值的类型的Go语法表示 %% 字母上的百分号,并非值的占位符 用法如下: package main import ( "fmt" ) type Sample struct { a ...
  • fmt标准库是我们在学习Go语言过程中接触最早最频繁的一个了,本文介绍了fmtb包的一些常用函数。 22.1 fmt fmt包实现了类似C语言printf和scanf的格式化I/O。主要分为向外输出内容和获取输入内容两大部分。 22.1.1 向...
  • Go语言fmt.Sprintf(格式化输出)

    千次阅读 2021-04-30 19:56:25
    Go语言fmt.Sprintf(格式化输出) 格式化在逻辑中非常常用。使用格式化函数,要注意写法: fmt.Sprintf(格式化样式, 参数列表…) 格式化样式:字符串形式,格式化动词以%开头。 参数列表:多个参数以逗号分隔,个数...
  • package main import "fmt" // 用户 type User struct { Id int Name string Age int ... user := User{Id:2, Name:"golang"} // 打印 结构体 fmt.Printf("%+v", user) /...
  • 1. 标准命令简述 Go 本身包含来大量用于处理 Go 程序的命令和工具。 命令 ...用于显示打印 Go 语言代码包以及程序实体的文档。 env 用于打印 Go 语言相关的环境信息。 fix 用于修正指定代码的
  • "fmt" ) func main() { // 十进制 i1 := 10 fmt.Printf("%d\n", i1) fmt.Printf("%o\n", i1) // 把10进制转换成八进制 fmt.Printf("%x\n", i1) // 把10进制转换成16进制 fmt.Printf("%b\n", i1) // 把10进制...
  • // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. ...package fmt import ( "errors"...
  • GO标准库巡礼-fmt

    2020-03-24 16:52:50
    会将变量转换为符合go syntax的输出,也就是说我们可以直接复制输出结果然后粘贴到代码中而不会报错。我们可以看一个例子来加深理解 func main() { c := struct { hello string world string }{"...
  • 目前,go语言的命令有一下几个: 名称 简介 go go 程序管理 Go 源码以及运行其它在此列出的命令。用法详述见命令文档。 cgo Cgo 使 Go 包的创建能够调用 C 代码。 cover Cover 用于创建并...
  • fmt包中实现了格式化的I/O函数(类似C语言中的printf和scanf,但更加简单)。字符串相关操作参见《go中字符串操作和转换简介》。 格式化符 对于复杂类型,默认按以下规则打印: struct: {field0 field1 …} array,...
  • func main() { fmt.Print("在终端打印该信息。") name := "沙河小王子" fmt.Printf("我是:%s\n", name) fmt.Println("在终端打印单独一行显示") }

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,716
精华内容 1,486
关键字:

fmt打印不显示go