go
Co_handle
程序人生。。。。。。。。
展开
-
golang实现不分配额外内存[]byte和string转换
golang实现不分配额外内存[]byte和string转换普通的强转一般在进行[]byte 和string之间进行转换时,通过进行强转实现。这样进行强转的话,都会在额外的拷贝,从而造成额外的内存分配。str := "test"// 转换为[]bytebytes := []byte(str)// 转换为strstr1 := string(bytes)优化后// 通过底层数据转换package strbytesconvimport ( "reflect" "unsafe")原创 2020-09-05 20:13:29 · 804 阅读 · 0 评论 -
golang数据结构map
golang 数据结构之map介绍map是hash table数据结构,它支持快速的查找、增加和删除。定义和声明map[keyType]ValueType其中 keyType 必须是可比较的数据类型 (golang官网说明),比如 布尔类型(bool)、数值类型(int, uint, float等)、string、指针(pointer)、通道(channel)、接口(interface)或者包含以上基础类型的 struct、arrays。但是不支持 切片(slices)、map、函数(func原创 2020-09-05 11:12:19 · 255 阅读 · 0 评论