📜  用例子比较 Golang 中的 Println 和 Printf

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

Println 和 Printf 是在 Golang 中打印输出的函数。两者都存在于包“ fmt ”中。但是,这两个函数提供的输出不同,如下所示:

印刷机

意思是“打印线”。它帮助我们打印整数、字符串等,但在末尾插入一个新行,即插入一个换行符。它使用其操作数的默认格式来格式化字符串。 Println 还在参数之间插入空格。

句法:

func Println(a ...interface{}) (n int, err error)

示例 1:

// Golang program to show the uses of Println function
package main
  
import "fmt"
  
func main() {
  
    // The Println prints and
    // adds a new line
    s := "Sam"
    age := 25
    fmt.Println("His name is", s)
  
    fmt.Println("His age is", age, "years")
}

输出:

His name is Sam
His age is 25 years

示例 2:

// Golang program to show the uses of Println function
package main
  
import "fmt"
  
func main() {
    a, b := 10, 20
  
    fmt.Println("a * b: ")
    fmt.Println(a, "*", b, "=", a*b)
}

输出:

a * b: 
10 * 20 = 200

打印文件

意思是“打印格式化程序”。它打印格式化的字符串。它包含要打印的字符串中的符号,然后是替换这些符号点后的参数。它不会像 Println 那样在末尾插入新行。为此,您必须在最后添加“\n”。它根据格式说明符格式化字符串。

句法:

func Printf(format string, a ...interface{}) (n int, err error)

示例 1:

// Golang program to show the uses of Printf function
package main
  
import "fmt"
  
func main() {
  
    // The Printf prints but
    // doesn't add a new line
    s := "Sam"
    age := 25
  
    fmt.Printf("His name is %s", s)
  
    fmt.Printf("His age is %d ", age)
    fmt.Printf("years")
}

输出:

His name is SamHis age is 25 years

为了更清楚,请参见下面的示例。这里 Printf 根据指定的格式说明符格式化,但 Println 使用其操作数的默认格式。

// Golang program to show the uses
// of Printf and Println function
package main
  
import "fmt"
  
func main() {
    m, n, p := 15, 25, 40
  
    fmt.Println(
        "(m + n = p) :", m, "+", n, "=", p,
    )
  
    fmt.Printf(
        "(m + n = p) : %d + %d = %d\n", m, n, p,
    )
}

输出:

(m + n = p) : 15 + 25 = 40
(m + n = p) : 15 + 25 = 40