Fungsi Go boleh mengembalikan berbilang nilai, termasuk menggunakan nilai pulangan yang dinamakan, tupel, struktur dan pengendalian ralat. Nilai pulangan yang dinamakan membenarkan setiap nilai pulangan diberi nama untuk akses dan manipulasi mudah. Tuple dan struktur boleh digunakan untuk menyimpan dan mengatur nilai pulangan, tetapi memerlukan pengekstrakan manual dan penukaran nilai. Mekanisme pengendalian ralat menyediakan cara ringkas untuk mengendalikan status pelaksanaan fungsi dan mengembalikan mesej ralat.
Bahasa Go membolehkan fungsi mengembalikan berbilang nilai, yang memberikan fleksibiliti yang hebat, tetapi pertimbangan tambahan diperlukan apabila mengendalikan nilai pulangan ini. Artikel ini akan memperkenalkan beberapa teknik untuk membantu anda mengendalikan nilai pulangan fungsi Go dengan berkesan.
Menggunakan nilai pulangan bernama ialah cara biasa untuk mengendalikan berbilang nilai pulangan. Dengan memberikan setiap nilai pulangan nama, anda boleh mengakses dan memanipulasinya dengan mudah.
func GetUserInfo(id int) (name string, age int, err error) { // Implement the function } func main() { name, age, err := GetUserInfo(1) if err != nil { // Handle the error } fmt.Printf("Name: %s, Age: %d\n", name, age) }
Tuple dalam bahasa Go ialah struktur data yang tidak ditaip yang boleh digunakan untuk menyimpan sebarang bilangan nilai. Anda boleh menggunakan tupel untuk mengendalikan nilai pulangan fungsi, tetapi anda perlu mengekstrak dan menukar nilai secara manual.
func GetUserInfo(id int) (string, int, error) { // Implement the function } func main() { userInfo := GetUserInfo(1) name := userInfo[0] age := userInfo[1] fmt.Printf("Name: %s, Age: %d\n", name, age) }
Struktur ialah jenis data komposit yang mengumpulkan medan berkaitan bersama. Anda boleh menggunakan struktur untuk menyusun dan merangkum nilai pulangan fungsi.
type UserInfo struct { Name string Age int } func GetUserInfo(id int) (UserInfo, error) { // Implement the function } func main() { userInfo, err := GetUserInfo(1) if err != nil { // Handle the error } fmt.Printf("Name: %s, Age: %d\n", userInfo.Name, userInfo.Age) }
Mekanisme pengendalian ralat bahasa Go menyediakan cara ringkas untuk mengendalikan ralat. Anda boleh menggunakan jenis err
untuk menunjukkan status pelaksanaan fungsi dan menghantar mesej ralat apabila dikembalikan. err
型別來指示函數的執行狀態,並在返回時傳遞錯誤訊息。
func GetUserInfo(id int) (string, int, error) { // Implement the function } func main() { name, age, err := GetUserInfo(1) if err != nil { // Handle the error return } fmt.Printf("Name: %s, Age: %d\n", name, age) }
以下是一个使用命名返回值处理函数返回值的实战例子:
func CalculateTax(salary int) (tax float64, netSalary float64) { taxRate := 0.2 // Assume a tax rate of 20% tax = salary * taxRate netSalary = salary - tax return } func main() { salary := 1000 tax, netSalary := CalculateTax(salary) fmt.Printf("Salary: %d, Tax: %f, Net Salary: %f\n", salary, tax, netSalary) }
在这个例子中,CalculateTax
函数返回两个命名值:tax
和 netSalary
。在 main
rrreee
CalculateTax
mengembalikan dua nilai bernama: cukai dan <code>Gaji bersih
. Dalam fungsi main
, kami menerima dan memproses nilai ini menggunakan nilai pulangan yang dinamakan. 🎜Atas ialah kandungan terperinci Kemahiran pemprosesan nilai kembali fungsi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!