From 888b110ba214a4214cf52ac05853fe1d0df28d85 Mon Sep 17 00:00:00 2001 From: nannanwu Date: Sun, 9 Nov 2025 13:47:53 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86=E6=9C=BA?= =?UTF-8?q?=E5=88=B6-defer=20+=20recover=20=E6=9D=A5=E6=8D=95=E8=8E=B7?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/main.go b/main.go index 2972248..374768d 100644 --- a/main.go +++ b/main.go @@ -3,24 +3,18 @@ package main import "fmt" func main() { - //定义一个函数类型的变量 - a := test - fmt.Printf("a 的变量类型是 %T\n", a) - a(1) - b(2, 3, a) - - // 自定义数据类型,别名 - type myInt int - var sb1 myInt = 42 - fmt.Println(sb1) - + test() + fmt.Println("程序执行成功") } -func test(a int) { - fmt.Println(a) -} - -// 可传入函数类型变量 -func b(a int, b int, c func(int)) { - c(a + b) +func test() { + defer func() { + err := recover() + if err != nil { + fmt.Println("test发生错误", err) + } + }() + a := 1 + b := 0 + fmt.Println(a / b) }