golang 内置函数 buildin与错误处理
1.len:用来求长度,如string,array,slice,map,channel
2.new:用来分配内存,主要用来分配值类型,比如int,float32,struct...返回的是指针
func main() { num1 := 100 //num1的类型是int,num1的值是100,num1的地址是0xc000020088 fmt.Printf("num1的类型是%T,num1的值是%v,num1的地址是%v\n", num1, num1, &num1) //使用new(int)的num2是指针类型*int //num2的类型是*int,num2的值是0xc0000200a0,num2的地址是0xc00000e030,num2指针指向的值是0 num2 := new(int) fmt.Printf("num2的类型是%T,num2的值是%v,num2的地址是%v,num2指针指向的值是%v\n", num2, num2, &num2, *num2) }
3.make:用来分配内存,主要用来分配引用类型,比如channel,map,slice
4.错误处理 defer+recover
进行错误处理后,程序不会轻易挂掉,如果加入预警代码,可以让程序更加健壮
func test(n1 int, n2 int) { defer func() { err := recover() //recover()内置函数,可以捕获到异常 if err != nil { //err不为空,说明捕获到了异常 fmt.Println("错误信息为:", err) //加入预警代码 fmt.Println("通知给管理员") } }() //使用匿名函数 res := n1 / n2 fmt.Println(res) } func main() { num1 := 100 num2 := 0 test(num1, num2) fmt.Println("main函数继续运行") }
5.自定义错误:errors.New("错误说明")+panic内置函数接收error类型的变量,输出错误信息并退出程序
//函数去读取配置文件config.ini的信息 //如果文件名传入不正确,就返回一个自定义的错误
//errors.New抛出错误
func readConf(name string) (err error) { if name == "config.ini" { return nil } else { //返回一个自定义错误 return errors.New("读取文件错误") } }
//panic中断程序
func test(name string) { err := readConf(name) if err != nil { //如果读取文件函数发送错误,就输出这个错误,并终止程序 panic(err) } fmt.Println("test()继续执行") } func main() { test("confit.ini") }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?