为了账号安全,请及时绑定邮箱和手机立即绑定

go语言简单入门--函数和方法

标签:
Go

Len和cap方法的区别:

果新长度小于容量,将不会更换底层数组,否则更换。容量的用途是在数据拷贝和 内存申请的消耗与内存占用之前的权衡。


  • panic函数可以引发运行时恐慌

  • recover函数可以捕获运行时恐慌

 

注意:偶尔会看到函数没有函数体,例如append, 是因为使用了其他语言实现 

Go闭包表示方法: func closer() func() return type {} 后面那个func()return type是返回值的类型。

 

Go语言是有块级作用域的,所以很多时候go可以在块级作用域中声明变量代替闭包的效果。特别注意这里的块级作用域值的是包含在{}中的代码,因此这里很多时候需要在代码块中再单独声明一个变量来保存外面语句的变量。(和js的let制造的块级作用域不同)


函数和方法表示并不一致。方法的表示如下:

func (v typeV) methodName(...args) return type {

//方法体

}

和函数表示有个明显的区别是多了个(v typeV),这个的用处就是说明这是哪个类型的方法。

 

Go语言的实现基本也是基于方法来的,当我们说当前变量实现了某个类型,主要就是说当前变量有某个类型的方法,并没有严格的实现和继承之类的。


go语言类型判断可以使用的方式:

一、v.(int)

二、switch 语句中使用v.(type)

三、reflect.TypeOf()


reflect常用地方:

判断类型可以使用reflect.TypeOf()

遍历结构体

判断引用类型是否相等reflect.DeepEqual


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Web前端工程师
手记
粉丝
9110
获赞与收藏
2572

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消