以太坊GO代码常见数据结构及方法

 1、maxUint256 is a big integer representing 2^256-1

maxUint256 = new(big.Int).Exp(big.NewInt(2), big.NewInt(256), big.NewInt(0))

2、 type BlockNonce [8]byte

        A BlockNonce is a 64-bit hash which proves (combined with the mix-hash) that a sufficient amount of computation has been carried  out on a block.

 3、append

       digest, crypto.Keccak256(append(seed, digest...))

     append主要用于给某个切片(slice)追加元素,   如果该切片存储空间(cap)足够,就直接追加,长度(len)变长;如果空间不足,就会重新开辟内存,并将之前的元素和新的元素一同拷贝进去

第一个参数为切片,后面是该切片存储元素类型的可变参数

 基础用法:
     slice := append([]int{1,2,3},4,5,6)

     fmt.Println(slice) //[1 2 3 4 5 6]

第二个参数也可以直接写另一个切片,将它里面所有元素拷贝追加到第一个切片后面。要注意的是,这种用法函数的参数只能接收两个slice,并且末尾要加三个点

   slice := append([]int{1,2,3},[]int{4,5,6}...)

   fmt.Println(slice) //[1 2 3 4 5 6]

还有种特殊用法,将字符串当作[]byte类型作为第二个参数传入

    bytes := append([]byte("hello"),"world"...)
append函数返回值必须有变量接收,不然编译器会报错,具体原因请参考:http://blog.csdn.net/qq245671051/article/details/50722823

猜你喜欢

转载自blog.csdn.net/metal1/article/details/80556600