当前位置: 首页 > news >正文

byte二位数组转换问题005

这里简单介绍一下 bytes方法里面拼接转切片  

 res1:=bytes.Join([][]byte{
   []byte("hello"),
   []byte("world"),
}, []byte("") )
   fmt.Printf("res1 %d\n",res1)    //  [104 101 108 108 111 119 111 114 108 100]

 

 优化当前 数据拼接代码

//当前区块哈希数据的拼接 (只有创建的区块才能调用)    优化代码
func   (block *Block) SetHash()  {
	//var blockByteInfo []byte //存储拼接好的数据 最后作为sha256函数的参数
	//blockByteInfo=append(blockByteInfo,block.PrevHash...)
	//blockByteInfo=append(blockByteInfo,block.Data...)
	//blockByteInfo=append(blockByteInfo,block.MerkleRoot...)
	//blockByteInfo=append(blockByteInfo,Uint64ToByte(block.Version)...)
	//blockByteInfo=append(blockByteInfo,Uint64ToByte(block.TimeStamp)...)
	//blockByteInfo=append(blockByteInfo,Uint64ToByte(block.Difficulty)...)
	//blockByteInfo=append(blockByteInfo,Uint64ToByte(block.Nonce)...)

   tmp:=[][]byte{
   	Uint64ToByte(block.Version),
   	block.PrevHash,
   	block.MerkleRoot,
   	block.Data,
   	Uint64ToByte(block.TimeStamp),
   	Uint64ToByte(block.Difficulty),
   	Uint64ToByte(block.Nonce),
   }
	blockByteInfo:= bytes.Join(tmp,[]byte(""))
	hash:=sha256.Sum256(blockByteInfo)
	block.Hash=hash[:]
}

 

 

__________________________________________________
str1:=[]string{"hello","world","!"}
str2:=strings.Join(str1,"+")
fmt.Printf("res: %s\n",str2)

相关文章:

  • 写在周日的凌晨( 一次思维的对话)
  • 挖矿初出茅庐006
  • blot数据库007
  • Chapter1:Oracle 10g Oracle DAB [Oracle® Database 2 Day DBA
  • 修改构造区块链数据库008
  • golang序列化与反序列化009
  • chapter2: 安装 Oracle 软件并构建数据库
  • 001以太坊DAPP开发
  • chapter3:Oracle Enterprise Manager 入门
  • Your Flutter application is created using an older version of the Android
  • chapter5:管理 Oracle 例程
  • 踩坑go-micro安装
  • golang坑 ‘godoc‘ 不是内部或外部命令,...
  • chapter6:管理数据库存储结构
  • go-micro客户端启动500原因
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 2017年终总结、随想
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • CentOS7 安装JDK
  • Consul Config 使用Git做版本控制的实现
  • JS 面试题总结
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Redux 中间件分析
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Vue.js源码(2):初探List Rendering
  • Vue2 SSR 的优化之旅
  • 经典排序算法及其 Java 实现
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 微信小程序:实现悬浮返回和分享按钮
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (4)STL算法之比较
  • (C++17) std算法之执行策略 execution
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (算法二)滑动窗口
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一)基于IDEA的JAVA基础12
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • ****Linux下Mysql的安装和配置
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NetCore 如何动态路由
  • .net中生成excel后调整宽度
  • [GPT]Andrej Karpathy微软Build大会GPT演讲(上)--GPT如何训练
  • [hive] 窗口函数 ROW_NUMBER()
  • [JDK工具-2] javap 类文件解析工具-帮助理解class文件,了解Java编译器机制
  • [JS入门到进阶] 7条关于 async await 的使用口诀,新学 async await?背10遍,以后要考!快收藏
  • [Linux] MySQL数据库之索引
  • [NAND Flash 6.4] NAND FLASH基本读操作及原理_NAND FLASH Read Operation源码实现