📜  Golang 中的 fmt.Fprintln()函数示例

📅  最后修改于: 2021-10-25 02:07:34             🧑  作者: Mango

在 Go 语言中, fmt包使用类似于 C 的 printf() 和 scanf()函数的函数来实现格式化的 I/O。 Go 语言格式的fmt.Fprintln()函数使用其操作数的默认格式并写入 w。这里总是在指定的操作数之间添加空格,并在末尾附加换行符。而且,这个函数是在 fmt 包下定义的。在这里,您需要导入“fmt”包才能使用这些功能。

句法:

func Fprintln(w io.Writer, a ...interface{}) (n int, err error)

参数:此函数接受两个参数,如下所示:

  • w io.Writer:这是指定的标准输入或输出。
  • a …interface{}:它包含代码中使用的一些字符串和常量变量。

返回值:它返回写入的字节数和遇到的任何写入错误。

示例 1:

// Golang program to illustrate the usage of
// fmt.Fprintln() function
  
// Including the main package
package main
  
// Importing fmt and os
import (
    "fmt"
    "os"
)
  
// Calling main
func main() {
  
    // Declaring some const variables
    const name, dept = "GeeksforGeeks", "CS"
  
    // Calling Fprintln() function which returns
    // "n" as the number of bytes written and
    // "err" as any error ancountered
    n, err := fmt.Fprintln(os.Stdout, name, 
                   "is a", dept, "portal.")
  
    // Printing the number of bytes written
    fmt.Print(n, " bytes written.\n")
  
    // Printing if any error encountered
    fmt.Print(err)
  
}

输出:

GeeksforGeeks is a CS portal.
30 bytes written.

在上面的代码中,可以看到在 Fprintln()函数,没有添加换行符 (\n) 仍然打印一个新行,这可以从上面显示的输出中看出。

示例 2:

// Golang program to illustrate the usage of
// fmt.Fprintln() function
  
// Including the main package
package main
  
// Importing fmt and os
import (
    "fmt"
    "os"
)
  
// Calling main
func main() {
  
    // Declaring some const variables
    const str1, str2, str3 = "a", "b", "c"
  
    // Calling Fprintln() function which returns
    // "n" as the number of bytes written and
    // "err" as any error ancountered
    n, err := fmt.Fprintln(os.Stdout, str1, str2, str3)
  
    // Printing the number of bytes written
    fmt.Print(n, " bytes written.\n")
  
    // Printing if any error encountered
    fmt.Print(err)
  
}

输出:

a b c
6 bytes written.

在上面的代码中,可以看出,在 Fprintln()函数,没有添加空格,但打印出来的空格包括从上面显示的输出中可以看出的空格。