Golang交叉编译各个平台的二进制文件

熟悉golang的人都知道,golang交叉编译很简单的,只要设置几个环境变量就可以了 # mac上编译linux和windows二进制 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build # linux上编译mac和windows二进制 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build CGO_ENABLED=...阅读全文

2018.08.23 10:24* 路过麦田
阅读:37151 评论:4

使用Golang在数秒内读取16GB的文件

By Ohm Patel 当今世界的任何计算机系统每天都会生成大量的日志或数据。随着系统的增长,将调试数据存储到数据库中是不可行的,因为它们是不可变的,而且只用于分析和故障解决目的。因此,组织倾向于将其存储在文件中,这些文件驻留在本地磁盘存储中。 我们将使用Golang从16 GB的.txt或.log文件中提取数百万行日志。 Lets Code…! 开始编码...! 让我们先打开文件。我们将使用标准的Go os.File用于任何文件IO。 f, err := os.Open(fileName) ...阅读全文

2020-11-29 09:32:38 颍水书生
阅读:716 评论:0

Go接口 - interface 最佳实践

interface是GO语言中非常重要的类型,它是用来定义一类方法集,只表示对象的行为(Behavior),GO语言的接口和实现不需要显示关联(也就是常说的duck类型),只要实现了接口所有方法,就可以当做该接口的一个实现,赋值给所有引用该接口的变量,从而满足面向对象编程(OOP)中的两个非常重要原则:依赖倒置、里氏替换。 也正由于这个特点,所以GO接口最佳的实践是:接口尽量的小,根据实际的需求定义的接口大小。 例如:io包体的Reader/Writer ```go type...阅读全文

2021-11-15 23:07:29 uuid
阅读:1629 评论:0

编写一个接口压测工具

![](https://tva1.sinaimg.cn/large/008i3skNly1gwer3yhu0dj30vn0u00v3.jpg) # 前言 前段时间有个项目即将上线,需要对其中的核心接口进行压测;由于我们的接口是 `gRPC` 协议,找了一圈发现压测工具并不像 `HTTP` 那么多。 最终发现了 [ghz](https://ghz.sh/) 这个工具,功能也非常齐全。 事后我在想为啥做 `gRPC` 压测的工具这么少,是有什么难点嘛?为了验证这个问题于是我准...阅读全文

2021-11-16 21:13:37 crossoverJie
阅读:929 评论:0

go-python3使用指南与踩坑记录

## 简介 ​ 好久没有更新博客了,笔者毕业一年多了,在国内某大厂工作,最近在工作过程中接到了一个颇有挑战感的活,在解决过程中发现网上对这方面的学习资料还是有所欠缺,所以特地记录。没错,就是使用go调用python3的一些实践和探索。众所周知,go是静态类型的语言,python是动态类型的语言,要在静态类型的语言上调用动态语言,期间的翻译工作其实是十分繁杂的,其中充满了很多不确定性,下面由笔者带大家一起看看这个探索的历程。 ## 环境搭建 ​ github上有现成的go调用...阅读全文

2021-11-23 16:19:58 LuciferMS
阅读:2685 评论:1

Go时区Parse的坑

## 日期解析 ## 背景 当有一个日期字符串(2014-11-12 11:45:26)需要转化为Go的time类型,我们第一时间肯定会想到time包的Parse方法,指定字符串的格式layout: ```go layout := "2006-01-02 15:04:05" str := "2014-11-12 11:45:26" t, err := time.Parse(layout, str) ``` 但是,有个容易忽略的问题,go语言默认的时区用的是**UT...阅读全文

阅读:1019 评论:0

Protobuf 为啥比 JSON、XML 牛?

> 收录于 [《深入微服务》](https://printlove.cn/categories/%E6%B7%B1%E5%85%A5%E5%BE%AE%E6%9C%8D%E5%8A%A1/) 大家好,我是 “潇洒哥老苗”。 今天,我带大家更深层次的认识认识 Protobuf,如果你对 Protobuf 的用法还不熟悉,直接前往:[https://developers.google.com/protocol-buffers/docs/proto3](https://developers...阅读全文

2021-11-24 16:04:58 miaogaolin
阅读:1326 评论:0

撸了一个可调试 gRPC 的 GUI 客户端

![](https://tva1.sinaimg.cn/large/008i3skNly1gwuz3q9a2nj30rs0rs3z1.jpg) # 前言 平时大家写完 `gRPC` 接口后是如何测试的?往往有以下几个方法: 1. 写单测代码,自己模拟客户端测试。 ![](https://tva1.sinaimg.cn/large/008i3skNly1gwv0138u2ij31eq0lwn07.jpg) 2. 可以搭一个 `gRPC-Gateway` 服务,这样就可以在...阅读全文

2021-11-29 15:02:41 crossoverJie
阅读:1165 评论:0