![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
W.H.H.
这个作者很懒,什么都没留下…
展开
-
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 · 1110 阅读 · 2 评论 -
震惊!golang切片的扩容居然另有玄机,朋友圈都传疯了!
1.数组的赋值是值传递,切片是引用传递 内存分配源代码 newcap := old.cap doublecap := newcap + newcap if cap > doublecap { newcap = cap } else { if old.len < 1024 { newcap = doublecap } else { // Check 0 < newca...原创 2020-04-10 17:55:56 · 576 阅读 · 0 评论 -
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 · 4222 阅读 · 0 评论