go_1.21泛型示例

package demo import ( “math/rand” “time” ) // 定义泛型接口 type RandomElementer[T any] interface { // 返回一个随机的元素,如果集合为空,返回(zero, false) RandomElement() (T, bool) } func MustRandom[T any](collection RandomElementer[T]) T { val, ok := collection.RandomElement() if !ok { panic(“collection is empty.”) } return val } // MyList 泛型集合. type MyList[T any] []T // MyList 实现接口RandomElement func (l MyList[T]) RandomElement()… Continue reading go_1.21泛型示例

Published
Categorized as go, language

go 内存对齐

内存对齐是指首地址对齐,而不是说每个变量大小对齐

为减少内存对齐带来的 padding 浪费. 构建结构体时,先写大的成员