go语言(函数篇)

  • 函数声明
    函数声明包括函数名、形式参数列表,返回值列表以及函数体
func name(parameter-list)(result-list)

形式参数列表描述了参数名以及参数类型,这些参数都是局部变量,参数的值由参数调用者提供。返回值列表描述返回值变量名以及类型,如果没有返回值,返回值列表可以省略。

func add(x,y int)int{
return math.Sqrt(x*x+y*y)
}

函数调用时,go语言没有默认参数值,实参通过值的方式进行传递,函数的行参是实参的临时拷贝。对行参进行修改不会影响实参,但是如果实参包括引用类型如指针,切片,map,function,channel等类型。实参可能由于函数的间接引用被修改。

  • 多返回值
    go语言中,一个函数可以有多个返回值,一个是期望得到的返回值,另一个是函数出错时的错误信息。
func findLink(url string )([]string,err){
	resp,err:=http.Get(url)
	if err!=nil{
		return nil,err
   }
}
  • 错误处理
    对于那些将运行失败看作是预期结果的函数,它们会返回一个额外的返回值,通常是最后一个,如果导致失败的原因只有一个,额外的返回值可以是一个布尔值,通常被命名为ok
value,ok:=cache.Lookup(key)
if !ok{
//...cache[key] does not exist
}

处理错误的方式
1.传播错误:函数中某个子程序失败,会变成该函数失败。
2.重新尝试失败的操作。
3.输出错误信息并结束程序
4.只输出错误信息,并不中断程序
5.直接忽略错误

  • 匿名函数
    匿名函数只能在包级语法中被声明,func关键字后没有函数名
strings.Map(func(r rune) rune{return r+1},"HAL-9000")
  • 可变参数
  • 参数数量可变的函数称为可变参数函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值