当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO Uvarint用法及代码示例


GO语言"encoding/binary"包中"Uvarint"函数的用法及代码示例。

用法:

func Uvarint(buf []byte)(uint64, int)

Uvarint 从 buf 解码一个 uint64 并返回该值和读取的字节数 (> 0)。如果发生错误,则值为 0,字节数 n <= 0 表示:

n == 0: buf too small
n  < 0: value larger than 64 bits (overflow)
        and -n is the number of bytes read

例子:

package main

import (
	"encoding/binary"
	"fmt"
)

func main() {
	inputs := [][]byte{
		{0x01},
		{0x02},
		{0x7f},
		{0x80, 0x01},
		{0xff, 0x01},
		{0x80, 0x02},
	}
	for _, b := range inputs {
		x, n := binary.Uvarint(b)
		if n != len(b) {
			fmt.Println("Uvarint did not consume all of in")
		}
		fmt.Println(x)
	}
}

输出:

1
2
127
128
255
256

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Uvarint。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。