Create & Init Project...
This commit is contained in:
28
app/service/main/broadcast/libs/encoding/binary/BUILD
Normal file
28
app/service/main/broadcast/libs/encoding/binary/BUILD
Normal file
@ -0,0 +1,28 @@
|
||||
package(default_visibility = ["//visibility:public"])
|
||||
|
||||
load(
|
||||
"@io_bazel_rules_go//go:def.bzl",
|
||||
"go_library",
|
||||
)
|
||||
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = ["endian.go"],
|
||||
importpath = "go-common/app/service/main/broadcast/libs/encoding/binary",
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "package-srcs",
|
||||
srcs = glob(["**"]),
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:private"],
|
||||
)
|
||||
|
||||
filegroup(
|
||||
name = "all-srcs",
|
||||
srcs = [":package-srcs"],
|
||||
tags = ["automanaged"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
30
app/service/main/broadcast/libs/encoding/binary/endian.go
Normal file
30
app/service/main/broadcast/libs/encoding/binary/endian.go
Normal file
@ -0,0 +1,30 @@
|
||||
package binary
|
||||
|
||||
// BigEndian big endian.
|
||||
var BigEndian bigEndian
|
||||
|
||||
type bigEndian struct{}
|
||||
|
||||
func (bigEndian) Int8(b []byte) int8 { return int8(b[0]) }
|
||||
|
||||
func (bigEndian) PutInt8(b []byte, v int8) {
|
||||
b[0] = byte(v)
|
||||
}
|
||||
|
||||
func (bigEndian) Int16(b []byte) int16 { return int16(b[1]) | int16(b[0])<<8 }
|
||||
|
||||
func (bigEndian) PutInt16(b []byte, v int16) {
|
||||
b[0] = byte(v >> 8)
|
||||
b[1] = byte(v)
|
||||
}
|
||||
|
||||
func (bigEndian) Int32(b []byte) int32 {
|
||||
return int32(b[3]) | int32(b[2])<<8 | int32(b[1])<<16 | int32(b[0])<<24
|
||||
}
|
||||
|
||||
func (bigEndian) PutInt32(b []byte, v int32) {
|
||||
b[0] = byte(v >> 24)
|
||||
b[1] = byte(v >> 16)
|
||||
b[2] = byte(v >> 8)
|
||||
b[3] = byte(v)
|
||||
}
|
Reference in New Issue
Block a user