Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mencetak output di Golang

Cara mencetak output di Golang

PHPz
PHPzasal
2023-04-11 09:14:592650semak imbas

Golang ialah bahasa pengaturcaraan yang terkenal dengan kecekapan tinggi dan prestasi cemerlang dalam memproses sejumlah besar data dan keselarasan tinggi. Semasa proses pembangunan, selalunya perlu untuk mengeluarkan beberapa maklumat pada konsol untuk memudahkan pembangun menyahpepijat dan menguji kod. Artikel ini akan memperkenalkan kaedah keluaran percetakan yang biasa digunakan di Golang.

1. Fungsi fmt.Printf()

Pertama, kami akan memperkenalkan fungsi Printf dalam pakej fmt yang biasa digunakan di Golang. Fungsi ini menyokong output berformat dan boleh mengeluarkan pelbagai jenis data ke konsol dalam format tertentu. Sintaks fungsi Printf adalah seperti berikut:

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

Antaranya, parameter pertama ialah rentetan format, dan parameter seterusnya ialah pemindahan data berbilang parameter disokong. Beberapa rentetan berformat yang biasa digunakan dan format output yang sepadan adalah seperti berikut:

格式化字符串 输出格式
%v 按照默认格式输出
%t 布尔值,true或false
%d 十进制整数
%b 二进制整数
%o 八进制整数
%x 十六进制整数
%s 字符串
%p 指针地址
%f 浮点数
%e 科学计数法

Berikut ialah contoh menggunakan fungsi Printf untuk mengeluarkan rentetan dan integer:

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)
}

Hasil output ialah:

My name is Tom, and I am 20 years old.

2. Fungsi fmt.Println()

Selain fungsi Printf, pakej fmt juga menyediakan fungsi Print dan Println. Fungsi Cetak akan mengeluarkan parameter yang diluluskan terus ke konsol, dan fungsi Println akan menambah aksara baris baharu pada penghujung output. Kedua-dua fungsi ini tidak menyokong output berformat dan sesuai untuk senario output mudah. Sintaksnya adalah seperti berikut:

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

Berikut ialah contoh penggunaan fungsi Println untuk mengeluarkan rentetan dan integer:

package main

import "fmt"

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

Outputnya ialah:

My name is Tom and I am 20 years old.

3. Pakej log

Selain pakej fmt, Golang juga mempunyai pakej log terbina dalam, yang menyediakan fungsi output log yang lebih fleksibel dan boleh dikonfigurasikan. Fungsi dalam pakej log dibahagikan kepada tiga peringkat: Nyahpepijat, Maklumat dan Ralat, yang digunakan untuk mengeluarkan tahap maklumat log yang berbeza. Dalam persekitaran keluaran, anda boleh menetapkan tahap log untuk mengeluarkan hanya tahap maklumat yang ditentukan tanpa mengganggu logik perniagaan biasa. Contoh penggunaan pakej log adalah seperti berikut:

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.")
}

Hasil output ialah:

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.

Seperti yang anda lihat, maklumat output dalam pakej log bukan sahaja termasuk kandungan log, tetapi juga termasuk masa output, Maklumat penyahpepijatan yang lebih terperinci seperti nama fail dan nombor baris. Selain itu, parameter seperti format output dan tahap log boleh ditetapkan dengan memanggil fungsi SetFlags.

Ringkasnya, Golang menyediakan pelbagai kaedah keluaran cetakan Anda boleh memilih kaedah keluaran yang sesuai mengikut senario yang berbeza untuk memudahkan penyahpepijatan dan ujian kod. Mahir dalam kaedah output ini adalah kemahiran yang sangat berguna semasa proses pembangunan.

Atas ialah kandungan terperinci Cara mencetak output di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn