golang 将[]byte转成16进制的实现
项目中有用[]byte存储16进制需要转到10进制,如果用系统自带的函数处理,需要先将[]byte通过hex.EncodeToString转为string,再用strconv.ParseInt转到10进制,过程中由于两次转换导致内存分配过多,GC出现错误导致进程挂掉。自己写了一个函数来转,主要是避免出现内存泄漏:经过测试,性能和自带的方法接近,略有提升。
项目中有用[]byte存储16进制需要转到10进制,如果用系统自带的函数处理,需要先将[]byte通过hex.EncodeToString转为string,再用strconv.ParseInt转到10进制,过程中由于两次转换导致内存分配过多,GC出现错误导致进程挂掉。自己写了一个函数来转,主要是避免出现内存泄漏:经过测试,性能和自带的方法接近,略有提升。