Go语言中文网 为您找到相关结果 2404

解读 2018 之 Go 语言篇(上):为什么 Go 语言越来越热?

![img](https://static001.infoq.cn/resource/image/ae/4c/aec0fa0f2988ad82173fffcfd30e864c.jpg) > 2018 年接近尾声,InfoQ 策划了“解读 2018”年终技术盘点系列文章,希望能够给读者清晰地梳理出重要技术领域在这一年来的发展和变化。本篇文章是 Go 语言 2018 年终盘点,分为上下两篇。客观、深入分析 2018 年 Go 语言的技术发展现状,同时对明年可能的发展情况进行[预测和展望](https://www.infoq.cn/article/X-Qy0Mfprf6xObsZjlVU)。 今年真可谓是不平静的一年,前有人工智能国家级战略的发布,行业已经在大跨步的挺进,但人才缺...阅读全文

Go-Testing

要点 Go的自动化测试框架比JUnit、PyUnit等更加轻量级。要点如下: - 测试代码以xxx_test.go方式命名 - 测试代码中import “testing” - 测试函数形如 func Testxyz(t *Testing.T) {…} - 执行测试:go test 示例 比较要创建一个mymath package。 mymath.go package mymath func Add(x, y int) int { return x + y } func Minus(x, y int) int { return x - y } mymath_test.go package mymath_test import "mymath" import "testing" func Tes...阅读全文

博文 2016-09-05 08:00:03 u013344915

golang test 单元测试

golang自家的单元测试做的很好了,自需要"文件名_test.go" 就可以在里面写单元测试,而且go test命令也很强大,可以只运行单个测试函数,在goland 可以点击单元测试函数前面的图标,但是切换到vscode就需要自己动手了。go test 主要参考https://godoc.org/testing单元测试写起来也比较容易,设定号 输入 判断 输出 与预想是否一致,一致则ok,否则 则报错。单元测试是一门学问,考虑的问题也很多,比如很多边界问题、如何自动化、测试样本等等很多东西 go test -run '' # Run all tests. go test -run Foo # Run top-level tests matching "Foo", such as "Test...阅读全文

博文 2017-12-11 21:00:01 zhishuai

golang项目test的写法

业务代码 package main import "fmt" func sum(a int,b int) int { return a+b } func main() { fmt.Println("hello test") } test测试用例 package main import ( "fmt" "testing" ) func TestSum(t *testing.T) { var a = 3 var b =4 res :=sum(a,b) fmt.Printf("%d 与%d之和:为%d",a,b,res) if res != 7{ t.Error("error") } } 每一个test文件必须import一个testing. test文件下每一个test case均必须以Test...阅读全文

博文 2019-08-05 21:32:38 厚朴酚XZ9lr

Go 语言编写单元测试

吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也。 -- 荀况 《劝学》 Go 语言对于单元测试是很重视的,且不说其他的作者的背景啊,开源库啊,第三方的支持之类的,有两点让我对 Go 语言关于单元测试的重视程度的有信心的点在于: Go 语言源代码和内置库自身的单元测试完备性 Go 语言自带单元测试命令 从这两点,我认为测试在 Go 语言中具有非常重要的地位,所以在这篇文章中,我也尝试讲一些关于 Go 语言单元测试的东西。 编写 Go 单元测试代码 Go 的测试方法看上去相对比较低级,它依赖于命令 go test 和一些能用 go...阅读全文

博文 2018-01-14 00:30:00 makor

默默前行的livego--基于go语言的rtmp直播服务器

为什么go语言,原因太多了! 轻量级协程,随时goroutine方便的channel方便的interface强大的服务器性能 简单点GO语言---为服务器而生! 我们来看看: livego--基于go语言的rtmp直播服务器 github地址: https://github.com/runner365/livego 什么是livego livego是基于golang开发的rtmp服务器 为什么基于golang golang在语言基本支持多核CPU均衡使用,支持海量轻量级线程,提高其并发量 当前开源的缺陷: srs只能运行在一个单核下,如果需要多核运行,只能启动多个srs监听不同的端口来提高并发量; ngx-rtmp启动多进程后,报文在多个进程内转发,需要二次开发,否则静态推送到多个子进程,效...阅读全文

博文 2017-08-25 01:32:12 sweibd

golang gorm 操作mysql

golang 官方的那个操作mysql的有点麻烦所以就使用了gorm,下面就gorm的使用做下简单介绍 下载gorm: go get -u github.com/jinzhu/gorm 在项目中引入gorm: import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) 定义db连接信息 func DbConn(MyUser, Password, Host, Db string, Port int) *gorm.DB { connArgs := fmt.Sprintf("%s:%s@(%s:%d)/%s?charset=utf8&parseTime=True&loc=Local", MyUser,P...阅读全文

博文 2018-11-17 19:35:40 woahjknes

DevOps与微服务 ▎时速云Docker&Kubernetes技术沙龙第四期

![alt 文本]( https://dn-tenxcloud.qbox.me/baec1465c205a4f8573253f78ae997c8.jpg) 时速云是国内领先的容器云平台与解决方案提供商,自成立之日起,就根植于技术社区,致力于推动以Docker为代表的容器技术在国内的发展。迄今为止我们已在北京成功举办三期Docker&Kubernetes技术沙龙,得到了技术小伙伴的大力支持。 时速云诚邀您参加Devops与微服务|Docker&Kubernetes技术沙龙第四期(6月25日于北京),与现场的技术大咖们一起分享Docker技术的那些事儿。 ## 活动日程: **日期:**2016年6月25日(周六) **时间:**下午13:30-17:00 *...阅读全文

记一次golang gc优化过程

我们使用golang编写的线上服务,通常会设置一个golang runtime指标监控,包括goroutine num、gc num、gc pause 等等。最近的一次上线,发现 gc 相关的指标出现异常,gc num 和 gc pause 大幅升高。由于 golang 的 gc 是 stop the world 来做, gc 过多会抢占程序的正常执行时间,甚至影响对外提供的服务,因此暂停了上线,准备先把 gc 的问题修复下。 出问题时的 gc 监控如下: image.png 其中蓝色曲线表示 gc num,黄色曲线表示 gc pause(单位ms),两个指标都是30s的累计数据。可以看到每30s的pause达到了秒级别。 登录到线上机器,通过 go tool pprof --alloc_o...阅读全文

博文 2017-09-25 12:34:48 zippera

go build命令详解

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zl1zl2zl3/article/details/83374131 go help build 构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果. 使用 go build [-o 输出名] [-i] [编译标记] [包名] 如果参数为***.go文件或文件列表,则编译为一个个单独的包。 当编译单个main包(文件),则生成可执行文件。 当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。 当编译包时,会自动忽略'_test.go'的测试文件。 参数 -o output 指定编译输出的名称,代替默认的包名。 -i install 安装作为目标...阅读全文

博文 2019-03-05 22:31:03 zl1zl2zl3

[郑州] 招聘golang、数据仓库工程师、功能/性能测试,移动端leader,类比百度 T5 及以上。

**郑州珑凌科技,郑州最优秀的纯互联网公司之一,产品驱动、技术驱动.** ***招聘数据开发工程师、功能\性能测试,移动端 Leader , PHP 、 nodejs 、 go 等,类比百度 T5 及以上*** 技术帝看这里: mac 电脑、机械键盘、各种资料用书,想要打个报告! 健身帝看这里:台球、乒乓、动感单车、淋浴间、洗衣机 养生派看这里:中央空调、空气净化器、净水器、微波炉、电冰箱 懒觉侠看这里:上班不打卡、弹性工作时间、带薪年假、 x-box 、 htc vr 宿舍条件这里:免费、可做饭、有阳台、上下班方便 其他福利这里:五险一金、节日福利、生日福利、结婚生子礼金、公司营收分红、年终奖、免费法律咨询、伯乐奖 QQ : 13482848...阅读全文

人工智能大数据平台中Golang的应用实践

目前人工智能非常火,大家所熟知的人脸识别、智能安防、自动驾驶等领域都在应用人工智能技术。但在自动驾驶这个行业中我们能用Go语言做什么事情?今天分享的主要是人工智能数据流的流转方式,也是Golang在Momenta大数据平台当中的应用。Momenta大数据平台Momenta的目标是打造自动驾驶大脑,基于深度学习和海量数据,Momenta已经形成服务多个场景的自动驾驶解决方案,解决了逆光、桥、隧道、雨天、夜间、匝道等复杂道路场景。在实现自动驾驶的过程中,深度学习的算法在训练模型时得有基础数据作支撑,需要大量的图像数据。借助团队极强的研究能力与工程能力,Momenta已经建立起大数据平台、大计算平台、大测试平台三大基础平台,从而实现大数据与AI算法的反馈闭环——以强大的计算资源处理丰富的海量数据,...阅读全文

基于gin框架快速开发应用(实战类型项目)

### 技术选型 框架: gin 日志处理: zap orm: gorm 优雅重启HTTP服务: gracehttp 测试框架: ginkgo ### 接口风格 RESTFUL ### 项目结构 * api - handler函数 * route - 路由注册 * model - 数据模型以及数据库操作 * doc - 接口文档 * log - 日志处理 * config - 配置文件 * tools - 公共工具类 * vendor - 项目依赖其他开源项目目录 * dist - 打包生成安装包的存放路径 * main.go - 程序执行入口 * Makefile 提供编译、打包、测试等功能的脚本文件 * ginkgo 二进制文件,容器内执行测试用例的时候需要使用的命令,请勿移除 * ju...阅读全文

博文 2018-07-17 19:52:14 KenmyZhang

GopherLua 支持 LUA解释器!

以前要想在Go里用 LUA, 有两条路: 1)自己封装 systemcall,调用 lua.dll 2) 使用 cgo 自己编译 LUA 的源代码 方法1复杂麻烦不通用不优雅,方法2对Windows用户满是泪呀 现在终于好了, 有了方法3)Lua 虚拟机和编译器:GopherLua 基本就是 将LUA 的源代码,用go重新写了一遍, 据说实际试表明 GopherLua 的性能是其他同类实现的 20 倍。 我从 github 上下载了代码测试,果然太爽了! 这个才是 golang 的技术社区呢!!...阅读全文

golang标准库binary学习

简介 Package binary implements simple translation between numbers and byte sequences and encoding and decoding of varints. The varint functions encode and decode single integer values using a variable-length encoding; smaller values require fewer bytes.For a specification, see https://developers.google.com/protocol-buffers/docs/encoding. 翻译:binary 包,...阅读全文

博文 2018-07-05 17:34:48 Tim_SSS

【互联网早报】2017.11.29

## 国内新闻 1.唐岩解读陌陌第三季度财报:高额付费人数增长较强 http://tech.sina.com.cn/i/2017-11-28/doc-ifypathz7127353.shtml 2.申通联手快捷快递共同出资5000万元,设立供应链管理公司 http://www.iyiou.com/p/61016 3.核能供暖来了:中核集团发布泳池式低温供热堆 http://tech.163.com/17/1128/17/D4BI4CRP00097U7T.html ## 国际新闻 1.HDMI 2.1标准正式发布:带宽增至48Gbps 支持10K http://www.cnbeta.com/articles/tech/6...阅读全文

Golang使用protobuf

为什么要使用protobuf 最近的项目中,一直使用Json做数据传输。Json用起来的确很方便。但相对于protobuf数据量更大些。做一个移动端应用,为用户省点流量还是很有必要的。正好也可以学习一下protobuf的使用 跟Json相比protobuf性能更高,更加规范 编解码速度快,数据体积小 使用统一的规范,不用再担心大小写不同导致解析失败等蛋疼的问题了 但也失去了一些便利性 改动协议字段,需要重新生成文件。 数据没有可读性 安装 在go中使用protobuf,有两个可选用的包goprotobuf(go官方出品)和gogoprotobuf。 gogoprotobuf完全兼容google protobuf,它生成的代码质量和编解码性能均比goprotobuf高一些 安装protoc 首...阅读全文

博文 2019-06-26 00:32:45 凉初透的风

提供各类平台专用香港服务器,站群服务器,云服务器。

香港高防服务器租用!建站服务器/云服务器,直营机房,一手资源,大带宽高防御! 我们的多线BGP数据中心连接全球各地,并且能够处理最复杂苛刻的运算要求。 为各类用户提供优质服务器,为客户提供五星级式售后,免费重装系统,重启,系统测试,维护等!! 通过整合中国大陆、香港及海外互联网网络资源,给客户提供真正的钻石级互联网服务 24小时技术支持服务,免费测试体验!国内+国际优化线路带宽!10M大带宽独享 24小时技术支持服务,随时更换ip,免费测试体验!国内+国际优化线路带宽! 详细请咨询QQ:1462803341 wx 18229371957 香港将军澳机房,提供最先进、快速的网络基础设计建设及国际顶级设备。并且和全球9 大信息服务商建立了长期合作关系,包括中国电信、中国移动、中国联通、NTT 、...阅读全文

博文 2019-04-26 16:55:16 q1462803341

NGD (NEO Global Development) 9月月报

上个月,基于社区反馈NGD发布了新版月报,受到了广泛好评。本月我们将继续沿用相同形式发布月报。感谢社区一直以来给予的反馈和贡献。以下为2018年9月NGD月报:重要事件NEO-CLI 2.9.0与Akka框架本月我们发布了NEO和NEO-CLI 2.9.0。NEO 2.9.0的最大特点是使用了Akka框架。Akka使用Actor模型来克服传统面向对象编程模型的局限性,并能够应对高并发分布式系统所带来的挑战。并且此次新版本将NEO-CLI的一些附加功能独立封装在插件中用以调用,目的是为了提升节点的安全性、稳定性和灵活性。用户可以自行选取所需要的扩展功能而不用每次在启动NEO-CLI时通过繁冗的指令来调用,避免了很多人为的操作失误,同时简化了打开钱包、调用applicationlogs 等一系列...阅读全文

博文 2018-10-07 18:34:43 NEO爱好者

使用 plot 绘制图表

作为一个程序员,很多时候虽然我喜欢盯着 console 输出的一堆数字看一些系统变化指标,但俗话说,一图胜千言,如果能自动的将很多数据生成图表展示,会更加清晰明了,而且能直接从变化的曲线上面得知更多的信息。这也就是我特别喜欢 Prometheus + Grafana 的原因。 但很多项目,尤其是临时的一些测试项目,我不可能为了看一个数据图表就搭建一套 Prometheus + Grafana 系统,那样效率太低,更多时候,我还是希望能有一个更简单的工具将一些数据展示出来。 幸运的是,我们可以通过 plot 非常方便的做到。plot 是一个用 Go 语言实现的绘图库,我们可以通过它绘制非常丰富的图表,并且可以输出成多种格式。另外,plot 还提供了非常方便的 interface,我们可以通过它...阅读全文

博文 2017-06-21 02:14:10 siddontang

golang之net/http包简单的get/post请求

1.get请求 http.Get package main import ( "fmt" "net/http" ) func main() { resp, err := http.Get("https://wwww.baidu.com") if err != nil { fmt.Println(err) return } fmt.Println(resp.StatusCode) } 2.post请求 package main import ( "encoding/json" "fmt" "io/ioutil" "net/http" "net/url" "strings" ) func main() { data := url.Values{"app_id":{"238b2213-a8ca-4...阅读全文

博文 2019-10-17 19:33:09 aside section ._1OhGeD

[郑州] 招聘 移动端 leader(ios/Android),大数据 leader,功能/性能测试, Go/PHP/nodejs、window\LinuxC/C++ ,类比百度 T5 /T6 及以上

郑州珑凌科技,郑州最优秀的纯互联网公司之一,产品驱动、技术驱动. 招聘数据开发工程师、功能\性能测试,移动端 lLeader , PHP 、 nodejs 、 go 等,类比百度 T5 及以上 技术帝看这里: mac 电脑、机械键盘、各种资料用书,想要打个报告! 健身帝看这里:台球、乒乓、动感单车、淋浴间、洗衣机 养生派看这里:中央空调、空气净化器、净水器、微波炉、电冰箱 懒觉侠看这里:上班不打卡、弹性工作时间、带薪年假、 x-box 、 htc vr 宿舍条件这里:免费、可做饭、有阳台、上下班方便 其他福利这里:五险一金、节日福利、生日福利、结婚生子礼金、公司营收分红、年终奖、免费法律咨询、伯乐奖 邮箱: job#lonlife.cn ( p...阅读全文

golang项目打包

GOLANG打包 工程目录结构 假设有个Go语言的工程myproject,目录结构如下 myproject +-- src |-- myapp | +-- myapp.go +-- mylib +-- logger.go123456 其中mylib目录是一个lib库,myapp是一个应用,其中引用了mylib库。 工程样例程序 下面是logger.go和myapp.go程序代码 logger.go package mylib import "fmt" func Print(msg string) { fmt.Print(msg) }1234567 myapp.go package main import ( "mylib" ) func main() { mylib.Print("Hello...阅读全文

博文 2017-03-05 05:55:49 skh2015java

[郑州招聘] 功能/性能测试大牛,大数据 leader, Android , C/C++(内核、网络驱动、协议栈、算路等方向) Go/PHP/nodejs ,类比百度 T5 /T6 及以上。欢迎各位老乡年底回家!

**郑州珑凌科技,郑州最优秀的纯互联网公司之一,产品驱动、技术驱动。** 功能 /性能测试大牛,大数据 leader , Android , O-C/Go/PHP/nodejs , C/C++(内核、网络驱动、协议栈、算路、界面开发等方向)类比百度 T5 及以上 最佳 技术帝看这里: mac 电脑、机械键盘、各种资料用书,想要打个报告! 健身帝看这里:台球、乒乓、动感单车、淋浴间、洗衣机 养生派看这里:中央空调、空气净化器、净水器、微波炉、电冰箱 懒觉侠看这里:上班不打卡、弹性工作时间、带薪年假、 x-box 、 htc vr 宿舍条件这里:免费、可做饭、有阳台、上下班方便 其他福利这里:五险一金、节日福利、生日福利、结婚生子礼金、公司营收分红、年终...阅读全文

NSQ的重塑之路

在 Gopherchina 2017 中,杭州有赞科技的李文带来了题为《NSQ 重塑之路》的分享,以下是对他演讲内容的整理。今天我会分享有赞 NSQ 重塑的一个过程,主要分为以下几个部分:第一,回顾旧的架构;第二,在使用的过程中遇到的一些问题,以及为什么要做重构;第三,重构具体的细节和架构;第四,测试的整个流程。第五,与其他产品进行对比;第六,有赞的使用场景。Original Architecture Overview首先,什么是 MQ?MQ 大多数在微服务或者一些业务之间的消息投递过程。一般情况下,如果直接调用它的接口会导致两个业务之间有很多耦合,业务之间依赖比较重。所以在微服务改造过程中,MQ 是非常重要的组件。NSQ 是其中主要的一个产品,类似 kafka。我们当时用 NSQ 是为这个...阅读全文

博文 2017-08-23 02:36:41 李文

[郑州-11月招聘] 功能/性能测试大牛,大数据 leader, Android 大牛, Go/PHP/nodejs、window\LinuxC/C++ ,类比百度 T5 /T6 及以上

##### 郑州珑凌科技,郑州最优秀的纯互联网公司之一,产品驱动、技术驱动。 ###### 招聘功能\性能测试大牛,移动端 Leader ,大数据 leader 、 PHP 、 nodejs 、 go 等,类比百度 T5 及以上 最佳 技术帝看这里: mac 电脑、机械键盘、各种资料用书,想要打个报告! 健身帝看这里:台球、乒乓、动感单车、淋浴间、洗衣机 养生派看这里:中央空调、空气净化器、净水器、微波炉、电冰箱 懒觉侠看这里:上班不打卡、弹性工作时间、带薪年假、 x-box 、 htc vr 宿舍条件这里:免费、可做饭、有阳台、上下班方便 其他福利这里:五险一金、节日福利、生日福利、结婚生子礼金、公司营收分红、年终奖、免费法律咨询、伯乐奖 邮...阅读全文

使用golang实现令牌桶限流和时间窗口控制

这篇文章不是讲令牌桶算法原理,关于原理,请参考 https://blog.csdn.net/lzw_2006/article/details/51768935 我这里只是使用golang语言来实现令牌桶算法,以及时间窗口限流。 针对接口进行并发控制 如果担心接口某个时刻并发量过大了,可以细粒度地限制每个接口的 总并发/请求数 以下代码golang实现 package main import ( "fmt" "net" "os" "sync/atomic" "time" ) var ( limiting int32 = 1 // 这就是我的令牌桶 ) func main() { tcpAddr, err := net.ResolveTCPAddr("tcp4", "0.0.0.0:9090")...阅读全文

博文 2019-05-23 16:34:53 Liberalman

Monkey框架使用指南

序言 要写出好的测试代码,必须精通相关的测试框架。对于Golang的程序员来说,至少需要掌握下面四个测试框架: GoConvey GoStub GoMock Monkey 通过前面四篇文章,我们已经掌握了框架GoConvey + GoStub + GoMock组合使用的正确姿势,同时已经知道: 全局变量可通过GoStub框架打桩 过程可通过GoStub框架打桩 函数可通过GoStub框架打桩 interface可通过GoMock框架打桩 但还有两个问题比较棘手: 方法(成员函数)无法通过GoStub框架打桩,当产品代码的OO设计比较多时,打桩点可能离被测函数比较远,导致UT用例写起来比较痛 过程或函数通过GoStub框架打桩时,对产品代码有侵入性 下面我们举两个例子,阐述GoStub框架对产...阅读全文

博文 2017-10-07 13:34:52 _张晓龙_

<10> go test单元测试

之前看了go官方的github上关于golang的单元测试,现在总结一下关键的地方。 单个测试 文件名必须是_test.go结尾的,这样在执行go test的时候才会执行到相应的代码 你必须import testing这个包 所有的测试用例函数必须是Test开头 测试用例会按照源代码中写的顺序依次执行 测试格式:func TestXxx(t *testing.T),Xxx部分可以为任意的字母数字的组合,但是首字母不能是小写字母[a-z],例如Testintdiv是错误的函数名。 函数中通过调用testing.T的Error, Errorf, FailNow, Fatal,FatalIf方法,说明测试不通过,调用Log方法用来记录测试的信息。 举个例子 package gotest impor...阅读全文

博文 2015-11-27 16:00:01 a11101171

中润四方中央研究院招聘GO语言高级程序员(工作地点:深圳)

大家好,我司目前正在招聘GO语言相关的高级程序员,大家可以发简历到fansy98@163.com, 具体招聘信息如下: ### 招聘需求 ### **职位1:中润四方中央研究院平台部高级程序员** 要求:3人 薪资待遇:8K~1.5万 岗位职责: 1、负责Docker容器平台开发; 2、根据需求文档和架构设计文档进行模块开发、功能测试、系统集成。 岗位要求: 1、计算机及相关专业本科以上学历(211工程学校优先考虑),良好的英语读写能力,四年以上相关工作经验; 2、精通Linux环境下的c程序设计语言,熟悉Go语言的优先考虑; 3、精通基本算法,并具有良好的数据结构基础; 4、熟悉Linux环境下的脚本编程,包括Shel...阅读全文

Go 中 Set 的实现方式

本篇主要讲述如何利用Go语言的语法特性实现Set类型的数据结构。需求对于Set类型的数据结构,其实本质上跟List没什么多大的区别。无非是Set不能含有重复的Item的特性,Set有初始化、Add、Clear、Remove、Contains等操作。接下来看具体的实现方式分析吧。实现仍然按照已有的编程经验来联想如何实现基本Set功能,在Java中很容易知道HashSet的底层实现是HashMap,核心的就是用一个常量来填充Map键值对中的Value选项。除此之外,重点关注Go中Map的数据结构,Key是不允许重复的,如下所示:m := map[string]string{ "1": "one", "2": "two", "1": "one", "3": "three", } fmt.Print...阅读全文

博文 2017-09-27 03:29:22 allenwu.itscoder.com

为什么明星公司会选择Go作为编程语言

编者按 最近很多人都看到了郝林通过大病筹款平台轻松筹发起筹款的事情,小编受作者所托,感谢开发者们在他生病期间的经济与精神上的支持和鼓励。 关于郝林老师的近况及技术专栏的说明 目前郝林病情暂时稳定,并已决定把筹集的 10 万元捐款退回,接下来将会通过在极客时间写专栏筹集医疗开支,极客邦科技也将从企业公益基金中拿出 10 万帮助其治疗,如果你喜欢这个专栏,请订阅并推荐给需要的人,这是对郝林老师最好的鼓励。 近日,Hacker News 发布了 2018 年 7 月的编程语言招聘趋势排行榜,其中,Go 语言已经反超 Java 进入了前三名的行列。从浅绿色的 Go 语言走势图可以看出来,企业对于 Go 语言的采用情况在逐年上升。 从公司角度看,许多大厂都已经开始拥抱 Go 语言,包括以 Java 打...阅读全文

博文 2018-12-06 18:35:13 qq5ac46f12063af

Golang判断文件是否存在及递归创建文件夹

一、判断文件或文件夹是否存在golang 判断文件或者文件夹是否存在可以通过os.stat() 方法和os.IsExist() 方法来判断: 1234567891011121314func isExist(path string)(bool){ _, err := os.Stat(path) if err != nil{ if os.IsExist(err){ return true } if os.IsNotExist(err){ return false } fmt.Println(err) return false } return true} 二、递归创建文件夹递归文件夹用到os.MkdirAll() 方法: 1func MkdirAll(path string, perm File...阅读全文

博文 2018-05-17 09:48:33 马谦的博客

EOS主网正式上线|21个超级节点大揭秘

6月15日凌晨1:50 ,EOS主网投票率已超过15%,EOS主网激活,正式上线。在首批诞生的21个EOS节点中,中国社区占6个。其中,EOS Cannon为第5名,Huobi Pool为第11名,EOS 引力区为第12名,EOS Beijing为第17名,EOS Store为第19名,EOS Asia为第21名。下面就让我们一睹21个超级节点的风采:注:编号仅供方便阅读,节点排名不分先后,且投票一直是动态的。第一名:EOS Canada社区介绍:EOS Canada 由一系列技术创业者组成,总部建设在蒙特利尔,受到加拿大金融界有名望的成员所支持,致力于为金融生态系统的发展做出贡献。地区:加拿大蒙特利尔主要成员: Marc-Antoine RossAlexandre BourgetMathi...阅读全文

博文 2018-06-17 22:34:40 EOSWTZ

5分钟学习基于Go,go-microservice-template,Minke的微服务

【编者的话】本篇文章介绍了Go语言下构建微服务的例子,作者利用一个helloword讲解了如何使用他的微服务框架,该框架不仅包含了构建服务,还包括路由、请求验证、日志记录、测试、动态配置变更,最后将提供了将服务整合到Docker容器并持续集成。本文干货满满,虽然需要一些对Go语言的基础,但是这构建微服务的思路是通用的。 @Container容器技术大会将于6月4日在上海光大会展中心国际大酒店举办,来自携程、PPTV、蚂蚁金服、京东、浙江移动、海尔电器、唯品会、eBay、道富银行、麻袋理财、土豆网、阿里百川、点融网等公司的技术负责人将带来实践经验分享,3月21日之前购票只需238元,欢迎感兴趣的同学抢购。 介绍几周前我去参加一个零售环境下的技术会议,直到午饭时间都没人提及'Docker'或者'...阅读全文

博文 2016-03-25 11:19:45 Sonyfe25cp

如何游刃有余的应聘Go语言开发工程师

最近很多人都看到了郝林通过大病筹款平台轻松筹发起筹款的事情,小编受作者所托,感谢开发者们在他生病期间的经济与精神上的支持和鼓励。目前郝林病情暂时稳定,并已决定把筹集的10万元捐款退回,接下来将会通过在极客时间写专栏筹集医疗开支,极客邦科技也将从企业公益基金中拿出10万帮助其治疗,如果你喜欢这个专栏,请订阅并推荐给需要的人,这是对郝林老师最好的鼓励。近日,Hacker News 发布了 2018 年 7 月的编程语言招聘趋势排行榜,其中,Go语言已经反超Java进入了前三名的行列。从浅绿色的Go语言走势图可以看出来,企业对于Go语言的采用情况在逐年上升。​从公司角度看,许多大厂都已经开始拥抱Go语言,包括以Java打天下的阿里巴巴,更别提深爱着Go语言的滴滴、今日头条、小米、奇虎360、京...阅读全文

博文 2018-08-07 15:20:19 jikeshijian

跑马拉松防猝死 真的有人开始做这个……

1月2日,2016厦门国际马拉松赛在鹭岛开赛,获得了诸多运动爱好者的追捧。随着近年马拉松运动的兴起,越来越多的兴趣者加入其中。但是,是否所有人都适合这样的运动? 在此次厦门马拉松比赛中,一款叫做“阿甘跑步”的运动社交APP联手深圳一家心电医疗设备供应商,借助阿里云大数据平台面向跑马爱好者推出皮肤级运动心律监测解决方案"安心跑"。希望通过大数据的方法来寻找极限运动中可能存在的风险并及时解决。 ![2.jpg](http://studygolang.qiniudn.com/160105/b6a08afcbbacde5cb1a522d03032ccc8.jpg) 这是一个像“创可贴”大小的智能设备,它实时扫描并且收集人体生命数据,通过及时回传、实时处理,机器判读等做出健康风险预警...阅读全文

Go语言开发者福利 - 国内版 The Go Playground

本文为原创文章,转载注明出处,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 作为Go语言开发者,我们都知道,Golang为我们提供了一个在线的、可以运行Go语言代码的、可以分享Go语言代码的平台,这个平台就是 The Go Playground ,网址是 https://play.golang.org/。 这个平台有很多好处,比较重要的就是我们在讨论Go语言问题的时候,可以通过 The Go Playground 分享和交流。 比如我有一段Go语言(golang)的问题需要咨询,或者在群里讨论,对于被咨询者来说,直接贴代码是最好的,因为很多细节,三言两语是说不清楚的。这时候我...阅读全文

博文 2018-12-03 19:34:40 飞雪无情

golang中字符串MD5生成方式

方案一 func md5V(str string) string { h := md5.New() h.Write([]byte(str)) return hex.EncodeToString(h.Sum(nil)) } 方案二 func md5V2(str string) string { data := []byte(str) has := md5.Sum(data) md5str := fmt.Sprintf("%x", has) return md5str } 方案三 func md5V3(str string) string { w := md5.New() io.WriteString(w, str) md5str := fmt.Sprintf("%x", w.Sum(nil))...阅读全文

博文 2018-07-04 14:34:53 Tim_SSS

Golang实现断点续传

https://github.com/artificerpi/oget HTTP Range 请求 HTTP Range请求允许服务器向客户端发送HTTP消息体的一部分数据。Partial Requests在使用比较大的网络媒体文件或者在下载文件时提供暂停和恢复功能时很有用。 这也是下载时实现HTTP断点续传的一个关键。 HTTP 206 (Partial Content) 如果服务器能返回HTTP 206请求,我们就知道它能够支持Range request. # curl -I https://www.baidu.com/ -H "Range: bytes=0-" HTTP/1.1 206 Partial Content Cache-Control: private, no-cache, ...阅读全文

博文 2017-12-26 04:30:01 7explore-share

go test test & benchmark

开发程序其中很重要的一点是测试,我们如何保证代码的质量,如何保证每个函数是可运行,运行结果是正确的,又如何保证写出来的代码性能是好的,我们知道单元测试的重点在于发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决,而性能测试的重点在于发现程序设计上的一些问题,让线上的程序能够在高并发的情况下还能保持稳定。本小节将带着这一连串的问题来讲解Go语言中如何来实现单元测试和性能测试。 Go语言中自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试,testing框架和其他语言中的测试框架类似,你可以基于这个框架写针对相应函数的测试用例,也可以基于该框架写相应的压力测试用例,那么接下来让我们一一来看一下怎么写。 如何编写测试用例 由于go test命令...阅读全文

博文 2016-05-07 15:00:01 diegodu

商汤科技北京上海深圳内部推

北京 北京市海淀区清华科技园科技大厦B座5层 深圳 深圳市南山区南海大道1052号海翔广场7层 下面岗位多在北京、深圳同招。另有2019应届毕业生对应岗位 人脸 测试开发工程师 (急招) 主要工作内容: 1,与人脸测试部和开发对接,将各个具体版本的图片标注,图片反转,图片提取,图片比较等内容形成可以直接供测试人员简单调用的库。 2,对测试数据进行汇总分析,并在web等方面进行展示。 3,配合测试部跟进性能、安全、接口等其他非功能测试方面的问题。 4,理解人脸测试的主要业务,对测试的新功能进行库扩充和长期持续支持。 5,日常测试工具开发。 6,人脸相关持续集成和流程优化支持。 Base:北京,深圳 待招聘。 4人 要求: 1,统招本科,英语四级。 2,编程语言基础,python熟练,懂java...阅读全文

博文 2018-10-11 10:35:06 python人工智能找电子书

go语言开发有哪些工具

Go语言在并发编程方面比绝大多数语言要简洁不少,这一点是其最大亮点之一,也是其在未来进入高并发高性能场景的重要筹码。本篇文章主要是给大家介绍一些go语言开发的开源工具! 1、Go Reviverevive 是一个 Go 语言的代码质量检测工具(Linter for Go),具有快速、可配置、可扩展、灵活和美观等特性,可作为 golint 的替代方案。虽然 golint 很受欢迎,但是 revive 提供了更多新功能,值得你去花时间研究,例如,它运行得更快(最高可达6x!),允许使用 TOML 文件配置 linting 规则,并提供更多规则。2、Go Callvis一定要收藏这个可视化工具,你可以使用 Go Callvis 来可视化 Go 程序的调用图。这个开发工具有一个使用HTTP服务器的交...阅读全文

博文 2019-03-28 21:34:40 QFdongdong

gin-vue-admin 基于vue和gin 搭建的后台管理系统脚手架

gin-vue-admin 基于vue和gin 搭建的后台管理系统脚手架 项目地址:https://github.com/piexlmax/gin-vue-admin开发者(贡献者)列表开发者功能姓名@piexlmax 项目发起者 蒋*兆@krank666 前端联合作者 尹*@1319612909 前端css优化 杜*兰@granty1 代码积极贡献者 印*林gin-vue-admin gin+vue开源快速项目模板更新代码后如果遇到前端报错请执行 npm i 前端开发会不定期增加新的依赖 请注意更新重构记录2019年12月12日 17:15第一次重构完成 主要更新后台数据库结构 引入casbin进行鉴权 后台代码结构整理 前端页面结构变更注意!!!在此时间之前拉取项目的朋友,pull代码后...阅读全文

博文 2020-03-21 16:32:45 Mr奇淼

商汤 北京 上海 杭州 深圳 内推招聘程序员 测试开发 研究员 实习生 销售

图片.png 图片.png 图片.png 内推优先录用,推荐邮箱: xurongzhong#sensetime.com,另外大量招聘具有211或985本科背景的,学历为本科及以上的实习生。社招可以放宽到普通统招二本。 钉钉或微信 pythontesting 商汤科技2019校招社招qq群 828186629 参考资料 讨论qq群630011153 144081101 本文涉及的python测试开发库 谢谢点赞! 本文相关海量书籍下载 2018最佳人工智能机器学习工具书及下载(持续更新) 图片.png 图片.png 图片.png 平台架构师 招聘类别: 社会招聘 工作性质: 全职 薪资范围: 面议 招聘人数: 若干 发布时间: 2019-03-03 截止时间: 工作地点: 北京市,上海市,广东...阅读全文

博文 2019-03-14 15:34:49 python人工智能命理

Go程序到底需不需要docker?

我是Go的粉丝,而且我也对容器感兴趣。容器可以使得代码更容易部署也更容易扩展。 但并不是所有Go程序员都使用容器。 在本文中,我将探讨一些真正应该考虑使用Go和容器的原因 - 然后我们来看一些容器根本不会增加任何好处的情况。首先,我们要确保我们都在相同的起点上。什么是容器对于使用这些容器的人来说,可能有许多不同的定义。对于许多人来说,尽管容器比Docker开源项目或Docker公司要久远得多,“容器”一词与Docker是同义词。如果您是容器的新使用者,Docker可能是您的最佳起点,其提供对开发人员友好的命令行支持,但依然还有其他可用的实现:Linux容器 - 容器实现,包括LXC和LXD来自CoreOS的rkt-pod-native容器引擎runc - 按OCI规范运行容器Windows容...阅读全文

博文 2017-04-25 03:07:32 方圆

Go语言程序测试

最近一直在搞各种测试,然后今天周末翻翻书,发现特价萝卜的书上在测试方面写得挺全的。 这书是之前CU(chinaunix.net)论坛。搞活动得到奖品(还有作者亲笔签名),拿回来都没看完. 因为写得太太太细了,又厚。 参考他的书及官网的文档,再把测试方面的东西过一下还是有点意思的. 这篇主要讲这几点: 一.Testing的几种不同形式 功能测试: TestXxxx(t *testing.T) 基准测试: BenchmarkXxxx(b *testing.B) 样本测试: Example_Xxx() 用于测试的Main函数: TestMain(m *testing.M) // // func TestMain(m *testing.M) { // flag.Parse() // os.Exit(...阅读全文

博文 2015-12-15 01:00:04 xcltapestry

终极 Web 应用性能和压力测试工具 Gor

常见的 Web 应用的压力测试工具 Web 应用压力测试工具有很多,比如 Apache ab,node-ab,Apache JMeter, LoadRunner, httperf。但是这些工具都没能解决一个问题: 如何正确模拟生产环境的流量 如今 Web 应用的架构变得非常复杂,内部包含复杂的各种负载均衡、 服务和 RPC 调用关系,简单的发送 GET 请求到某些 URL 或者 API 接口完全无法模拟真实的流量。假如回放 HTTP 日志,操作又异常麻烦。Tcpcopy 虽然能够复制实时流量,但是操作也很复杂。之前的 亚马逊云平台的迁移 就用到了 Gor 这个工具。 Gor 是 Web 应用压力测试的完美方案 我一直在找一个简单又方便的解决方案,直到找到了 Gor 。Gor 是用 Golan...阅读全文

博文 2015-06-17 20:15:54 xtqve

Golang中如何编写test测试代码

这种编写test的操作还是我实习的小哥哥教我的,个人觉得特别的实用,我们编写项目的时候难免不会出现某个调用不确定!这个输出结果是否是我们期望的!很多是否都要碰都这种情况,特别是在写一些项目的时候,文件很多代码也多,以前在不知道这样方法的时候就很恼火,以前在遇到这种情况的时候处理方法就是用IDE新建一个环境,然后把要测试的函数直接复制过去,但是这样不仅麻烦很多时候还没有办法做。 打个比方:我现在不确定我用gorm(Go语言中一个比较火的orm第三方包)写了一个model的查询,但是我不确定我写的这个是否有问题,那么就只有另外写一个东西来运行测试这个函数是否正确。但是model的查询等等,都是还是很多数据库初始化连接,读取配置文件中的数据库配置信息等,一大堆的东西,所以就很麻烦。自从小哥哥教了我...阅读全文

博文 2019-02-02 19:34:43 _AlphaBaby_