GO
GO
oria2006
这个作者很懒,什么都没留下…
展开
-
GO 获取指定网卡流量
func TotalFlowByDevice(dev string) uint64 { devinfo, err := ioutil.ReadFile("/proc/net/dev") if err != nil { return 0 } var receive int = -1 var transmit int = -1 var receive_bytes uint64 var transmit_bytes uint64 lines := strings.Split(strin.原创 2020-06-12 17:28:22 · 3122 阅读 · 0 评论 -
GO 获取磁盘空间大小
func DiskUsage(path string) (uint64, uint64) { fs := syscall.Statfs_t{} err := syscall.Statfs(path, &fs) if err != nil { return 0, 0 } All := fs.Blocks * uint64(fs.Bsize) Free := fs.Bfree * uint64(fs.Bsize) return All, Free}原创 2020-06-12 15:28:32 · 3036 阅读 · 0 评论 -
GO语言异常以及信号量捕获
defer func() { err := recover() if err != nil { LogErr("err %s", err) LogErr("Stack %s", debug.Stack()) } return }()func signalHandle() { for { ch := make(chan os.Signal) sign...原创 2020-05-03 17:30:15 · 503 阅读 · 0 评论 -
GO RPC实例源码
服务端import ( "net" "net/rpc" "net/rpc/jsonrpc")// Client->Servertype RpcObj struct { Id int `json:"id"` Name string `json:"name"`}// Server->Clienttype ReplyObj struct { Ok ...原创 2020-03-31 15:37:55 · 218 阅读 · 0 评论 -
GO语言解析字符串数据(JSON)
var jsonBlob = `{"list":[{"version": "1.8.0","url":"http://xxxx"},{"version": "1.7.1","url":"http://xxxx"},{"version": "1.7.0","url":"http://xxxx"},{"version": "1.6.0","url":"http://xxxx"},{"version"...原创 2020-03-16 15:10:46 · 1290 阅读 · 0 评论 -
GO语言实现MD5 Checksum
func md5Checksum(finger string) []byte { w := md5.New() io.WriteString(w, finger) md5_value := w.Sum(nil) return md5_value}func BytesToUint64(bytes []byte) uint64 { return uint64(binary.BigE...原创 2020-02-25 11:38:38 · 722 阅读 · 0 评论 -
一文搞懂GO语言的数组、指针、切片、Buffer
目录数组指针切片切片扩展切片收缩Buffer总结数组数组定义的格式:var数组名 [长度]类型定义一个8字节长的byte数组:var bytes_array [8]bytevar bytes_array = [8]byte{1, 2, 3, 4, 5, 6, 7, 8}fmt.Printf("bytes_array len:%d bytes...原创 2020-01-02 16:39:08 · 729 阅读 · 1 评论 -
GO语言写的IP地址合法性检查以及取主机地址
func CheckIP(ip string) bool { addr := strings.Trim(ip, " ") regStr := `^(([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]...原创 2019-12-31 09:59:51 · 787 阅读 · 0 评论 -
GO string转int int转string string转[]byte等
1.数值字母转整型值strconv.Atoi("3")2.整型值转字符strconv.Itoa(3)3.字符串转字节码bytes := []byte("12345678")4.字节码转字符串str := fmt.Sprintf("%x", bytes)str := string(bytes)import "encoding/hex"str := hex.E...原创 2019-12-18 10:03:23 · 334 阅读 · 0 评论 -
GO字符替换函数strings.Replace性能问题
项目需要处理一段字符串用"2019/10/23","Boy,"China"等字符串按序替换"?,?,?,?,?,?"中的问号。用Replace替换时发现性能占用巨大,所以重新写了一段代码处理该问题,代码如下: i := 0 j := 0 index := 0 query_value := []byte(trans.query) var trans_que...原创 2019-10-23 15:07:29 · 1789 阅读 · 0 评论