當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。