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


GO Varint用法及代码示例


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

用法:

func Varint(buf []byte)(int64, int)

Varint 从 buf 解码 int64 并返回该值和读取的字节数 (> 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{
		{0x81, 0x01},
		{0x7f},
		{0x03},
		{0x01},
		{0x00},
		{0x02},
		{0x04},
		{0x7e},
		{0x80, 0x01},
	}
	for _, b := range inputs {
		x, n := binary.Varint(b)
		if n != len(b) {
			fmt.Println("Varint did not consume all of in")
		}
		fmt.Println(x)
	}
}

输出:

-65
-64
-2
-1
0
1
2
63
64

相关用法


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