自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 golang函数形参接收任意类型的切片

在某些情况下一个函数可能既需要接收[]string类型的切片也可能接收[]int类型的切片,或接收自定义类型的切片。我首先想到的办法是创建一个[]interface{}类型的切片,如下所示:func demo(s []interface{}) { for _, ele := range s { fmt.Println(ele) }}func Test(t *testing.T) { s := []int{1, 2, 3} demo(s)}但不幸的是,我得到了“cannot use

2020-08-02 00:26:07 1124 2

原创 golang之抽象类实现

毋庸置疑,golang是一门相当好的语言,稍微用得不太顺手的地方就是没有语法层面的抽象类支持。但这也不是完全没有解决办法,利用接口和组合继承,可以实现抽象类。Java中一段抽象类代码如下:public abstract class People { public String name; public int age; abstract void run();} class User { public void usePeople(People p) { System.out.pri

2020-06-20 21:54:33 4266

原创 golang range 踩坑记录

这一天,本程序猿在项目中遇到一个需求,简化版本如下:[1, 1, 1, 2, 2, 1]将这个列表中所有的2改为1。哟嚯,这么简单的需求不是秒秒钟就搞定?于是撸起袖子刷刷地写:func main() { demo := []int{1, 1, 1, 2, 2, 1, 1} for _, v := range demo { if v == 2 { v = 1 } }}...

2020-04-11 20:48:19 605

原创 震惊!golang切片的扩容居然另有玄机,朋友圈都传疯了!

1.数组的赋值是值传递,切片是引用传递内存分配源代码newcap := old.capdoublecap := newcap + newcapif cap > doublecap { newcap = cap} else { if old.len < 1024 { newcap = doublecap } else { // Check 0 < newca...

2020-04-10 17:55:56 585

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除