Home  >  Article  >  Backend Development  >  How to print output in Golang

How to print output in Golang

PHPz
PHPzOriginal
2023-04-11 09:14:592688browse

Golang is a programming language known for its high efficiency and has excellent performance when processing large amounts of data and high concurrency. During the development process, it is often necessary to output some information on the console to facilitate developers to debug and test the code. This article will introduce the commonly used printing output methods in Golang.

1. fmt.Printf() function

First introduce the Printf function in the commonly used fmt package in Golang. This function supports formatted output and can output various types of data to the console in a certain format. The syntax of the Printf function is as follows:

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

Among them, the first parameter is the format string, and the subsequent parameters are the data to be output. Multiple parameter transfer is supported. Some commonly used format strings and corresponding output formats are as follows:

##%sString%pPointer address%fFloating point number %eScientific notation
Format string Output format
%v Output according to the default format
%t Boolean value, true or false
%d Decimal integer
%b Binary integer
%o Octal integer
%x Hexadecimal integer
The following is an example of using the Printf function to output strings and integers :

package main

import "fmt"

func main() {
    name := "Tom"
    age := 20
    fmt.Printf("My name is %s, and I am %d years old.\n", name, age)
}
The output result is:

My name is Tom, and I am 20 years old.
2. fmt.Println() function

In addition to the Printf function, the fmt package also provides the Print and Println functions. The Print function will output the passed parameters directly to the console, and the Println function will add a newline character at the end of the output. These two functions do not support formatted output and are suitable for simple output scenarios. Their syntax is as follows:

func Print(a ...interface{}) (n int, err error)
func Println(a ...interface{}) (n int, err error)
The following is an example of using the Println function to output strings and integers:

package main

import "fmt"

func main() {
    name := "Tom"
    age := 20
    fmt.Println("My name is", name, "and I am", age, "years old.")
}
The output result is:

My name is Tom and I am 20 years old.
3. Log package

In addition to the fmt package, Golang also has a built-in log package, which provides a more flexible and configurable log output function. The functions in the log package are divided into three levels: Debug, Info and Error, which are used to output different levels of log information. In the publishing environment, you can set the log level to output only the specified level of information without interfering with normal business logic. An example of using the log package is as follows:

package main

import (
    "log"
)

func main() {
    log.Println("This is an info message.")
    log.SetFlags(log.Lshortfile | log.LstdFlags) // 设置输出格式
    log.Printf("This is a debug message. %d\n", 123)
    log.Fatalf("This is an error message. %s\n", "Some error occurred.")
}
The output result is:

2021/08/18 13:12:21 This is an info message.
main.go:9: This is a debug message. 123
2021/08/18 13:12:21 This is an error message. Some error occurred.
It can be seen that the output information in the log package not only includes the log content, but also includes the output time, file name and line number. Wait for more detailed debugging information. In addition, parameters such as output format and log level can be set by calling the SetFlags function.

To sum up, Golang provides a variety of print output methods. You can choose the appropriate output method according to different scenarios to facilitate code debugging and testing. Being proficient in these output methods is a very useful skill during the development process.

The above is the detailed content of How to print output in Golang. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn