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

杭州招聘全职Golang高级工程师

**要求** 1、开发snmp、xmpp、APNS推送等系统服务 2、知道ruby on rails更好, web这一层我们是用ROR写的 3、一年以上Golang经验, 想长期沿着Golang走下去 4、有github帐号, 熟悉linux/mac+git开发环境 **团队** 20人左右, 技术不到10人, 服务器暂时放Ruby、Go各1人, iOS、Android各1人 、嵌入式以及硬件共4人、测试、支持什么的2人、架构1人,所以Go这块要可以独立工作的 **产品** 户外的智能WiFi应用 **地点** 杭州文一西路 **待遇** 8-12k+五险一金+年终奖励 **联系人** www.sharp.bz...阅读全文

主题 2013-10-23 15:44:39 sharp

AliPay SDK for Golang

https://github.com/smartwalle/alipay AliPay SDK for Golang ## 已实现接口 #### 手机网站支付API * **手机网站支付接口** alipay.trade.wap.pay * **统一收单线下交易查询** alipay.trade.query * **统一收单交易支付接口** alipay.trade.pay * **统一收单交易关闭接口** alipay.trade.close * **统一收单交易退款接口** alipay.trade.refund * **统一收单交易退款查询** alipay.trade....阅读全文

Golang测试包小结

Golang测试包 golang自带了测试包(testing),直接可以进行单元测试、性能分析、输出结果验证等。简单看着官方文档试了试,总结一下: 目录结构和命令 使用golang的测试包,需要遵循简单的目录结构 测试代码放在待测试代码的目录下(一个包内),以_test.go结尾,例如如下目录结构,MyTest目录下有待测试的代码文件MyTest.go和测试代码MyTest_test.go . |-- bin | `-- main |-- pkg | `-- darwin_amd64 | `-- MyTest.a `-- src |-- MyTest | |-- MyTest.go | `-- MyTest_test.go `-- main `-- main.go 直接在MyTest目录下执...阅读全文

博文 2015-03-03 03:00:01 numbersix

golang slice

#slice append 实现 s2 := append(s1, *) 切片s1上记录的切片信息复制给s2, 1.如果s1指向的底层array长度不够,append的过程会发生如下操作:内存中不仅新开辟一块区域存储append后的切片信息,而且需要新开辟一块区域存储底层array(复制原来的array至这块新array中),最后再append新数据进新array中,这样,s2指向新array。 2.如果s1指向的底层array长度够, s2和s1指向同一个array,append的结果是内存中新开辟一个区域存储新切片信息。 开辟一块区域存储底层array 使用下面的策略: 1.如果 增加的 len < s的cap 则 新s的cap*2 2.如果 增加的 len > s的cap 则 新s的c...阅读全文

博文 2017-09-21 09:33:13 1071954237

golang读写文件

抗压测试的时候多线程需要使用一个文件的内容频繁发送,所以想预处理文件内容到内容,分段发送, 1.读取文件内容到内存 type Chunk struct{ data []byte } func prepareChucks(path string) { fi, err := os.Open(path) if err != nil { panic(err) } defer fi.Close() for { buf := make([]byte, 4096) //每次需要再for循环里面重新make,踩坑 n, err := fi.Read(buf) if err != nil && err != io.EOF { panic(err) } if 0 == n { break } chunckDat...阅读全文

博文 2019-05-07 13:35:15 柯蓝_e007

go语言函数参数与返回值示例,数组的简单应用

go语言函数参数与返回值示例,数组的简单应用 package main import "fmt" func main() { string1 ,string2 :=test_various_values(30,58) fmt.Println("参数1 ",string1) fmt.Println("参数2 ",string2) fmt.Println("------------------------------------------------------------------") v1 ,v2 :=test_various_values2(46,"huangmao") fmt.Println("--v1==== ",v1) fmt.Println("---v2 == ",v2) fm...阅读全文

博文 2016-10-26 17:00:01 qq_26337701

golang. 批量获取redis中的缓存值

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> 使用redis的pipeline,批量获取redis中的key值时,报错,分析发现,批量获取时,exec后,会返回两种值:nil 及 redis.Nil, 这种情况下,使用常规的 if err!=nil 的判断方法判断错误,是会报错的。 测试代码: package main import ( "github.com/go-redis/redis" "log" "strconv" ) func main() { client := redis.NewClient(&redis.Options{ Addr: "localhost:6379", Password: "", // no password set DB...阅读全文

博文 2018-09-01 14:33:16 gguoqiang110

golang流操作(一)——GetStream

问题 最近看了《分布式对象存储--原理架构及Go语言实现》这本书,整体思路很清晰,但是由于对于golang中的数据流操作(tcp数据流,文件流等)不是很熟悉,导致对代码的理解有点问题。所以特地整理一下。 场景 假设要做一个对象储存,架构如下所示: 对象存储架构.png 其中接口服务器是直接和客户端交互的,而数据服务器是用来存储存储数据的。 现在将问题简化,只有一个接口服务器,一个数据服务器。当客户端想从服务器获取数据时,流程如下所示: 客户端发起请求流程.png 客户端需要先找接口服务器要数据,接口服务器找数据服务器要(当然需要先定位数据在哪个数据服务器上),数据服务器回数据给接口服务器,接口服务器再回复给客户端,经过这样的流程,客户端才能收到数据。 接口设计 客户端获取数据时向接口服务器发...阅读全文

博文 2018-12-26 23:34:43 StormZhu

FastAPI、Flask、Golang性能测试

前言 最近看到一篇讲python 几款异步框架,其中一款框架让人眼前一亮,他就是Fastapi。其中介绍到 其性能能与Node相匹配,甚至在某种情况下可以与Golang相媲美。这是什么概念?传统观念中,python生来视乎就与高性能、大并发风马牛不相及,而Golang似乎是高性能的代名词。这里python出现一款框架与Golang相媲美,无法不让人对这个东西产生联想。这里就对这三个做一个性能测试,看看情况如何 环境 2 核CPU, 8G内存 虚拟机 压测工具: webbench 代码示例 FastAPI from fastapi import FastAPI app = FastAPI() @app.get('/') async def index(): return {'message':...阅读全文

博文 2020-01-05 13:32:47 梦想做小猿

Boom — Go语言实现的性能测试工具

Boom — Go语言实现的性能测试工具 HTTP(S) load generator, ApacheBench (ab) replacement, written in Go Boom is a tiny program that sends some load to a web application. It's similar to Apache Bench (ab), but with better availability across different platforms and a less troubling installation experience. 项目地址:[https://github.com/rakyll/boom](https:/...阅读全文

Golang 数据库操作

Golang 数据库操作 Golang 数据库 MySQL Golang支持DB操作位于database包下,支持基本CRUD操作、事务和Prepared Statement,本文以MySQL为例。 MySQL驱动安装 使用数据库之前,必须安装相关MySQL数据驱动[1],如果未安装驱动或者没有引入驱动库会报以下错误: failed to open database: sql: unknown driver "mysql" (forgotten import?) 安装golang mysql driver go get github.com/go-sql-driver/mysql 代码中还需注册数据库驱动,通过引入空白倒入[2]mysql包来完成 import( "database/sql"...阅读全文

博文 2015-08-09 18:00:00 nop4ss

Golang 开发的微信 SDK go-wechat-sdk

### WeChat SDK for Go 使用Golang开发的微信SDK,简单、易用。 ### 快速开始 以下是一个处理消息接收以及回复的例子:

//配置微信参数
config := &wechat.Config{
    AppID:          "xxxx",
    AppSecret:      "xxxx",
    Token:          "xxxx",
    EncodingAESKey: "xxxx",
    Cache:          memCache
}...阅读全文

[笔记]Go语言写文件几种方式性能对比

Go语言中写文件有多种方式,这里进行如下几种方式的速度对比: 打开文件,写入内容,关闭文件。如此重复多次 打开文件,写入内容,defer 关闭文件。如此重复多次 打开文件,重复多次写入内容,defer 关闭文件 在VMWare下的Ubuntu 14.04下运行的结果表明: 方式1速度最慢,但是慢的很稳定 方式2比方式1略快,但是重复次数多了后会报错,应该是defer被压栈太多导致系统撑不了太多打开的文件 方式3速度约是前两者的2倍,因为减少了很多打开关闭文件的操作 测试代码如下: package main import ( "fmt" "os" "time" ) func benchmarkFileWrite(filename string, n int, index int) (d tim...阅读全文

博文 2015-03-08 03:00:01 journeyonmyway

互联网哪些职位最赚钱?开发哪些语言人才最贵最热门?

一、互联网人群求职意向 数据显示,互联网人对市场销售类职位最有意向,占比高达25.47%。技术类和运营类职位紧跟其后,分别占到23.55%和18.08%的比例。其中,市场销售类细分领域中,销售与市场营销职位更受关注;在技术类细分领域中,较受亲睐的是移动开发和后端开发;而在运营细分领域中,运营是最受欢迎的职位。二、互联网十大高/低薪职位 数据统计得知,CTO、CFO、COO、CMO、产品总监、技术总监、架构师、交互设计总监、网络推广、视觉设计总监是平均工资排名前十的互联网职位。其中,CTO最为吸金,以平均35.06万的年薪位居榜首。相比之下,前台、出纳、售后客服、售前咨询、助理、行政、产品助理、内容编辑、IT支持和Flash设计师成为了工资最低的十大岗位,前台的年薪仅有4.07万。大家可以对工...阅读全文

博文 2017-07-07 02:07:25 宝桃软件夏正行

分布式文件系统 SeaweedFS

SeaweedFS 是简单,高伸缩性的分布式文件系统,包含两部分:存储数十亿的文件;快速为文件服务。SeaweedFS 作为支持全 POSIX 文件系统语义替代,Seaweed-FS 选择仅实现 key-file 的映射,类似 "NoSQL",也可以说是 "NoFS"。 SeaweedFS 仅花费 40 字节的硬盘来存储每个文件的元数据。 基准测试基于 Mac Book,固态硬盘,CPU:1 Intel Core i7 2.6GHz。 编写 1 百万的 1KB 文件:

Concurrency Level:      16
Time taken for tests:   88.796 seconds
Complete requests:  ...阅读全文

Golang 发送Post表单请求

准备服务器 package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/tpost", func(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { var ( name string = r.PostFormValue("name") ) fmt.Printf("key is : %s\n", name) } }) err := http.ListenAndServe(":80", nil) if err != nil { fmt.Println(err.Error()) return } } 测试发送POST请求 packa...阅读全文

博文 2019-03-27 02:34:37 Rnben

golang 的 sync.WaitGroup

WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。 官方对它的说明如下: A WaitGroup waits for a collection of goroutines to finish. The main goroutine calls Add to set the number of goroutines to wait for. Then each of the goroutines runs and calls Done when finished. At the same time, Wait can be used to block until all goroutines have fini...阅读全文

博文 2015-05-30 03:00:15 ghj1976

Archlinux下Golang环境配置

一、准备 1)golang 安装:# pacman -S go/$ sudo pacman -S go 2)liteide 安装:# pacman -S liteide/sudo pacman -S liteide 二、配置环境 1)golang Archlinux中配置环境最好放到自启动中。 #nano /etc/profile.d/go.sh #set go environment export GOPATH=/home/用户名/Workspaces/Go #根据自己的Go工作目录替换 export GOBIN=$GOPATH/bin export PATH=$GOBIN:$PATH 以上代码在Archlinux(Linux localhost 4.2.2-1-ARCH #1 SMP P...阅读全文

博文 2015-10-05 09:00:02 大糊涂

goLang 文件操作之一

go 官方库的文件操作分散在多个包中,感觉有点乱,比如os,ioutil包,基于别人总结的基础上简单总结一下 1.文件基本操作 1.1创建空文件 package main import ( "os" "log" ) var ( newFile *os.File err error ) func main(){ //创建文件 newFile,err=os.Create("text.txt") checkErr(err) log.Println(newFile) newFile.Close() } /** 检查错误 */ func checkErr(err error){ if err!=nil{ log.Fatal(err) } } 1.2 truncate 文件 package main i...阅读全文

博文 2018-02-07 15:34:38 soledad

在 Golang 中尝试简洁架构

>(独立性,可测试性的和简洁性) 在阅读了 Bob 叔叔的 Clean Architecture Concept 之后,我尝试在 Golang 中实现它。我们公司也有使用相似的架构,[Kurio - App Berita Indonesia](https://kurio.co.id/), 但是结构有点不同。并不是太不同, 相同的概念,但是文件目录结构不同。 你可以在这里找到一个示例项目[https://github.com/bxcodec/go-clean-arch](https://github.com/bxcodec/go-clean-arch),这是一个 CRUD 管理示例文章 ![](https://raw.githubusercontent.com/studygolang/gctt...阅读全文

博文 2018-05-07 22:23:03 fredvence

问答 APP 自动答题助手Answer Helper

问答 APP 自动答题助手,适用于 百万英雄 / 芝士超人 / 冲顶大会 / 花椒百万赢家 等多个直播答题类 APP,支持 iOS、Android 手机和模拟器,3 秒出结果,可以自动答题。 ![image](https://raw.githubusercontent.com/henson/Answer/master/doc/1.png) 超快的响应速度 支持iOS、Android 支持真机测试和模拟器 全面覆盖百万英雄/芝士超人/冲顶大会/花椒百万赢家等多个直播答题类APP 优化搜索逻辑保证高正确率 多维度参考值,答案交叉验证 自动答题(目前仅支持Android...阅读全文

golang实现抽象工厂模式

在项目过程中,遇到某处需要使用工厂模式,因此写了个测试代码进行测试, 首先定义了interface Worker,其中包含一个接口Work(task *string) 然后定义创建Worker的interface WorkerCreator,包含一个接口Create() ,返回值为Worker type Worker interface { Work(task *string) } type WorkerCreator interface { Create() Worker } 我们假设有一个工种程序员,实现了Work接口,同时定义其构造类,实现Create()接口 type Programmer struct { } func (p *Programmer) Work(task *stri...阅读全文

博文 2016-04-16 19:00:00 qq_33204116

Golang的map并发安全

已知多个goroutine同时读写Map会出问题 如下代码会抛出异常 package main import ( "time" "fmt" ) func main() { c := make(map[string]int) go func() {//开一个goroutine写map for j := 0; j < 1000000; j++ { c[fmt.Sprintf("%d", j)] = j } }() go func() { //开一个goroutine读map for j := 0; j < 1000000; j++ { fmt.Println(c[fmt.Sprintf("%d",j)]) } }() time.Sleep(time.Second*20) } 运行结果 fatal...阅读全文

博文 2019-05-03 07:34:38 星落纷纷

[更新20151203:继续扩队伍! ]招golang 分布式平台开发工程师(Docker相关) 上海 (2名)

我们是专门为国内大金融(银行,交易所,保险公司,证券)和电信提供开源解决方案和服务的专业团队。公司技术团队都是热爱开源,长期做开源工作的工程师。 非常感谢我们这个专业社区,去年我们在这里发帖找到了非常棒的golang开发人员。 经过1年的努力,我们终于开发出了基于golang 和docker底层技术的面向金融行业的分布式平台。并且作为国内领先的团队,在超大型金融企业的项目中落地,真正发挥了golang的的威力。 随着业务良好的扩展,我们开始扩展团队,这次仍旧在上海总部招聘 2位golang 开发工程师 招聘情况如下,喜欢golang , 分布式和开源技术的小伙伴快来加入我们把。 工作地点: 上海 职位描述: 分布式平台开发工程师 薪酬范围:12k-20k, 13...阅读全文

你应该知道Go语言的几个优势

要说起GO语言的优势,我们就得从GO语言的历史讲起了…… 本文由腾讯技术工程官方号发表在腾讯云+社区 2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Griesemer和Ken Thompson两位牛人,决定创造一种新语言来取代C++, 这就是Golang。出现在21世纪的GO语言,虽然不能如愿对C++取而代之,但是其近C的执行性能和近解析型语言的开发效率以及近乎于完美的编译速度,已经风靡全球。特别是在云项目中,大部分都使用了Golang来开发,不得不说,Golang早已深入人心。而对于一个没有历史负担的新项目,Golang或许就是个不二的选择。 被称为GO语言之父的Rob Pike说,你是否同意GO语言,取决于你是认可少就是多,还是少就是少(Les...阅读全文

博文 2018-06-19 16:34:45 腾讯云加社区

golang后台 实现用户登录注册

第一步 注册models models 下建立 models.go models.go文件 package models import ( "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql") func RegisterDB() { //注册驱动 orm.RegisterDriver("mysql", orm.DRMySQL) //数据库链接 //注册默认数据库 var db_url string = beego.AppConfig.String("username_DB") + ":" + beego.AppConfig.String("password_D...阅读全文

博文 2018-08-04 00:30:02 acg88688

阿里1682亿背后的协同研发云——云效公共云正式商业化

摘要: 2017年12月20日云栖大会北京峰会,阿里云宣布其一站式企业协同研发云产品——云效公共云版本正式进入商业化服务阶段,同时云效还发布了三大新功能模块:跨团队联合作战的项目集、多维度测试服务、便捷高效的移动端工作台。 2017年12月20日云栖大会北京峰会,阿里云宣布一站式企业协同研发云产品——云效,其公共云版本正式进入商业化服务阶段,将为更多企业提供研发效能服务。发布会现场,还首次亮相了三大新功能:跨团队联合作战的项目集、多维度测试服务、便捷高效的移动端工作台。 云效是一站式企业协同研发云,支持公共云、专有云和混合云三种模式下的大规模团队的项目管理和协同研发,它为应用项目研发全周期(需求->开发->测试->发布->运维->运营)提供高效的工具化支撑,落地实现敏捷研发、流式实施交付和分...阅读全文

博文 2017-12-25 04:03:31 maoerya

history.back(-1)和history.go(-1)的区别

history.back(-1)和history.go(-1)的区别 阅读:7233 次 编辑日期:2016-01-11 目录: 1这个方法的用途 2两个方法的区别 3总结 概述: H5页面做多了,自然就会做到页面上的返回功能,返回功能大致有两种:history.back(-1)和history.go(-1),今天我们来说说两种方法的区别。 这个方法的用途 返回一个页面方法有很多,就好比给返回按钮绑定一个URL,但是如果一个页面可以从很多页面到达,那么这个页面返回的页面就不是固定的,那么绑定固定的URL显然不妥。 两个方法的区别 既然history.back(-1)和history.go(-1)都是返回之前页面,但是方法不同,所以肯定是有区别的: 1 2 history.back(-1)//...阅读全文

博文 2017-09-28 15:31:02 a460550542

聊聊BoltDB:简单使用

说明 -- BoltDB是一个嵌入式key/value的数据库,即只需要将其链接到你的应用程序代码中即可使用BoltDB提供的API来高效的存取数据。而且BoltDB支持完全可序列化的ACID事务,让应用程序可以更简单的处理复杂操作。 BoltDB设计源于LMDB,具有以下特点: * 直接使用API存取数据,没有查询语句; * 支持完全可序列化的ACID事务,这个特性比LevelDB强; * 数据保存在内存映射的文件里。没有wal、线程压缩和垃圾回收; * 通过COW技术,可实现无锁的读写并发,但是无法实现无锁的写写并发,这就注定了读性能超高,但写性能一般,适合与读多写少的场景。 最后,BoltDB使用Golang开发,而且被应用于influxDB项目作为底层存储。 使用 *安装BoltDB...阅读全文

博文 2017-09-09 14:15:59 丁凯

Go 中的 import 声明

Go 中的程序由各种包组成。通常,包依赖于其它包,这些包内置于标准库或者第三方。包首先需要被导入才能使用包中的导出标识符。这是通过结构体调用 *import 声明* 来实现的: ```go package main import ( "fmt" "math" ) func main() { fmt.Println(math.Exp2(10)) // 1024 } ``` 上面我们有一个 import 导入的例子,其中包含了两行导入声明。每行声明定义了单个包的导入。 > 命名为 **main** 的包,是用来创建可执行的二进制文件。程序的执行是从包 **main** 开始,通过调用包中也叫做 **main** 的函数开始。 但是,还有其它一些鲜为人知的导入用法,这些用法在各种场景下都很实用: ...阅读全文

博文 2018-09-27 23:10:35 polaris

腾讯云服务器快速搭建MongoDB数据库

MongoDB是一个基于分布式文件存储的数据库,是一种非关系型数据库,用C++编写而成,下面是如何利用腾讯云服务器搭建mongoDB过程。 下面是搭建过程: 一、设置mongoDB目录 mkdir/data/db 创建mongoDB数据库存放目录 mkdir/data/log 创建mongoDB日志存放目录 二、上传mongoDB安装包到/data目录 这里分享一个mongoDB 2.4.12 ,如果需要安装其他版本可以自行到官网下载 下载地址:http://pan.baidu.com/s/1o81urou yum installlrzsz –y rz上传到/data目录下 ![1.png](http://studygolang.q...阅读全文

微信应用号在前端开发圈火了,而Docker其实早已火遍后端

![](http://77fkk5.com1.z0.glb.clouddn.com/upload/image/1c775ec880d211e681f1525400020562.jpg) 昨晚(9月21日)“微信应用号”萌萌哒的化身——“小程序”才刚开始宣布内测,今天朋友圈就刷屏了!真是一石激起千层浪,各种分析、预测文章铺天盖地而来,让人应接不暇。这让笔者依稀看到了当年Docker技术开源时的盛景。 有人说,微信小程序的横空出世,让前端开发开始热闹起来;而笔者想说,在后端开发中,Docker的地位可以与微信小程序一较高下,因为它早就已经火遍后端! 今天我们就来比比微信小程序和Docker究竟是如何在前端和后端开发中一统天下的! ## 1.Docker在后端开发的江湖地位...阅读全文

全面系统学测试 从小白入门到实战就业

​全面系统学测试 从小白入门到实战就业 完整无密【点击下载】本课程为慕课网销量最高、备受好评的测试入门课程2020年全新升级版。升级课程亮点:1、测试设计、测试执行、测试总结、黑盒测试、白盒测试、自动化测试、性能测试、手机测试、面试讲解等全方位多角度进行讲解;2、辅助以支付宝、余额宝等实战项目演练,更增加主流热门电商类测试项目全流程与微信红包项目实战;3、掌握从简单业务场景到复杂业务场景下的不同测试实战技巧,满足入门+提高双重需求适合人群软件测试初学者、刚刚从事软件测试行业的新手,在校大学生、应届毕业准备从事软件测试行业,准备转行进入软件测试行业的小伙伴技术储备要求0基础入门,无论你的基础怎么样,你的背景怎么样都可以学习这门课程百度网盘链接下...阅读全文

Go使用grpc+http打造高性能微服务

大家可以发现,Go越来越流行,其一是目前云计算领域基本是使用Go作为底层开发语言;其二是随着区块链的火爆,引申出了其背后很多开源项目,很多都是使用Go语言进行开发;其三就是在微服务方面,Go也展示很大的优势性。那么微服务是什么,如何将其与Go做一个整合,来提升整体开发生产效率,下面会进行详细讲解。什么是微服务微服务的概念最早由 Martin Fowler 提出,在他的理论当中,微服务是一整套小的服务,其中每一个服务互相之间都是独立的,它们之间通过 lightweight 机制进行交互。图 1图 1 所示是最传统的一个应用软件架构,最顶层是 load balancer ,下面布局很多cuisine,这些cuisine共享一个数据库。图 2图 2 是微服务的架构图,由图中我们可以看出整体架构分布...阅读全文

博文 2017-11-22 09:32:26 astaxie

golang 编译后文件过大问题处理

go1.9.2出来了,有一个用golang写的工具要编译,正好也测试一下。我是在windows10 64位下测的。编译和执行文件效率都差不多。但是1.9.2编译出来的文件6M。 个人觉得这个有点大了,关键是功能也不复杂。所以觉得这个体积简直太夸张了,试试能否减肥。 使用原始build编译的大小 6,167KB 通过去除部分连接和调试,build部分参数查看结果。 -a 强制编译所有依赖包。 -s 去掉符号信息 -w 去掉DWARF调试信息,得到的程序就不能用gdb调试了 不建议s和w同时使用。 go build -ldflags -w test.go 但是体积还是有点大 4,236KB 最后还只能是加壳压缩。工具地址如下: https://github.com/upx/upx/release...阅读全文

博文 2018-04-25 16:33:06 mickelfeng

(Go)不要使用append插入元素

标题好像有点唬人哦…. 起因是我在给Slice做Insert函数,给几个版本封装时做了一些性能测试。结果出人意料! import ( "fmt" "reflect" "time" ) func copyInsert(slice interface{}, pos int, value interface{}) interface{} { v := reflect.ValueOf(slice) v = reflect.Append(v, reflect.ValueOf(value)) reflect.Copy(v.Slice(pos+1, v.Len()), v.Slice(pos, v.Len())) v.Index(pos).Set(reflect.ValueOf(value)) retur...阅读全文

博文 2016-11-22 04:00:05 Begosu

《第一本Docker书》PDF下载

网盘下载地址:第一本Docker书 PDF下载 - 易分享电子书PDF资源网 - PDF网盘资源在线下载 作者: [澳]詹姆斯•特恩布尔(James Turnbull)出版社: 人民邮电出版社译者: 李兆海 / 刘斌 / 巨震出版年: 2014-12页数: 252定价: 59装帧: 平装ISBN: 9787115377333内容简介 · · · · · ·全球第一本Docker技术图书中文版,Docker中文社区鼎力支持!Docker核心团队成员权威著作,在技术圈中很有影响力。既是第一本Docker书,也非常适合作为学习Docker的第一本入门书。Docker是一个开源的应用容器引擎,让开发者可以将他们的应用和依赖包打包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚...阅读全文

博文 2019-07-29 13:32:40 rinymn7

golang配置文件热更新

配置文件热更新是服务器程序的一个基本功能,通过热更新可以不停机调整程序的配置,特别是在生产环境可以提供极大的便利,比如发现log打得太多了可以动态调高日志等级,业务逻辑参数变化,甚至某个功能模块的开关等都可以动态调整。 每种语言都有自己的热更新实现方式,在golang里面我看到了有人采用了一种错误的实现方式,如下: type Config struct { Test1 string `json:"Test1"` Test2 int `json:"Test2"` } var ( config *Config ) func loadConfig() { f, err := ioutil.ReadFile("config.json") if err != nil { fmt.Println("lo...阅读全文

博文 2017-02-26 03:00:30 石匠

影游联动出典范,《青丘狐传说》成功的基础4大要素

刚过去的3月份,最具有话题性和关注的手游莫过于《青丘狐传说》了,上线首日即登顶iOS免费榜第一名,随着同时段同名电视剧的热播,《青丘狐传说》被称为又一次“影游联动的典范”,引发了全行业的广泛热议。作为其测试服务提供商,TestBird有幸全程见证紫龙互娱对该款开山作品的精心打磨,也寄希望通过专访《青丘狐传说》的制作团队,为您揭开霸榜背后的秘密。 强力IP,影游联动,奠定扎实的用户基础 《青丘狐传说》作为原搜狐畅游游戏事业群总裁王一成立紫龙互娱后的开山之作,顺应了2015年以来的IP运作热潮。仙侠题材本身是具有庞大用户群体的,紫龙互娱希望将《青丘狐传说》打造成一款具有代表性的手游产品。 同时,基于聊斋故事创作的《青丘狐传说》极富的东方传统文化色彩,它构建的全新世界观非常适...阅读全文

雨痕新作《Go语言学习笔记》出版了

《Go语言学习笔记》——雨痕著 出版了。购买地址: - [china-pub](http://product.china-pub.com/4971695) - [京东](http://item.jd.com/10466396823.html) 目录: ``` 上卷 语言详解 第1 章 概述 ............... 3 1.1 特征 ....................... 3 1.2 简介 ....................... 6 第2 章 类型 ..............18 2.1 变量 ..................... 18 2.2 命名 ..................... 22 2.3 常量 ........................阅读全文

“GO语言中文网实验室”上线,提供Golang在线开发环境。

近日,GO语言中文网与“实验楼”整合双方资源,共同建立了“GO语言中文网实验室”,让用户能够以一种更便捷、更高效、更灵活的方式进行GO语言的开发学习。 实验楼是一家免费的IT在线实训平台,为IT爱好者提供了编程、运维、测试、云计算、大数据、数据库等全面的IT技术动手实践环境。 本次实验楼免费为GO语言中文网提供了Golang在线开发环境,用户在阅读文章时,可以点击文章右侧的Golang在线开发环境,登录实验楼后即可直接进入一个完整的Golang在线开发环境,用户可以在该环境中体验文章中涉及的技术,通过动手实践的方式学习技术文章的真正精髓。 ![](http://studygolang.qiniudn.com/150317/3177ab001d2c5b98d4...阅读全文

go语言测试----切片删除

package main import ( "fmt" "math/rand" //"time" ) func main() { vect := make([]int, 100000) for i, _ := range vect { vect[i] = i } for i := 0; i < 10; i++ { k := rand.Intn(100000) //这里有可能会有重复的值,但我们假定有10个不同的值 vect[k] = -1 } for i, v := range vect { if v == -1 { //当V=-1时,假定是不需要的数据 vect = append(vect[:i], vect[i+1:]...) } } //测试一下 for i, v := range v...阅读全文

博文 2015-06-17 23:05:44 zistxym

python就业方向哪个好?没基础学python

现在互联网巨头,都已经转投到人工智能领域,而人工智能的首选编程语言就是python,未来前景显而易见。那么问题来了,想学Python,Python工程师工资一般多少?值得去学吗? 说句实在话,还得看你自己:自己足够用功,经验够,两三万月薪也不是不可能;如果资历浅,又不用功,想要高薪,除非运气够好! 学习Python可以从事以下工作: **一、人工智能** Python作为人工智能的黄金语言,选择人工智能作为就业方向是理所当然的,而且就业前景好,薪资普遍较高,拉勾网上,人工智能工程师的招聘起薪普遍在20K-35K,当然,如果是初级工程师,起薪也已经超过了12500元/月。 **二、大数据** 我们目前正处于大数据时代,Python这门语言在大数据上比Java更加...阅读全文

go gin+casbin RBAC 简单例子

go gin+casbin RBAC 简单例子 说明 利用的库: github.com/casbin/casbin github.com/gin-gonic/gin github.com/facebookgo/inject 本文为 参考此项目: https://github.com/LyricTian/gin-admin ,强烈推荐!!! casbin文档: https://casbin.org/zh-CN/ 下面例子 未利用 casbin 的 adapter, 而是启动的时候 先初始化, 然后通过数据库里面的 对应关系 ,动态加载所有的 权限条目 然后通过中间件去判断,如果有更新,可以动态修改更新 权限条目. 例子 目录 代码 rbac_model.conf [request_defini...阅读全文

博文 2019-01-10 17:35:14 295631788

【轻知识】3分钟,golang 操作 clickhouse

安装clickhouse与使用 docker pull yandex/clickhouse-server 如果pull出现 docker pull yandex/clickhouse-server Using default tag: latest Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout 请换源。另一种方式是用dig命令然后配置hosts。这个方式有可能dig出来的ip都不好使。 docker run -d --name ck-server --ulimit nofile=262144:262144 -p 8123:8123 -p 900...阅读全文

博文 2020-04-17 23:32:47 言十年

20160226: 招golang 分布式平台开发工程师(Docker相关) 上海 (2名)

我们是专门为国内大金融(银行,交易所,保险公司,证券)和电信提供开源解决方案和服务的专业团队。公司技术团队都是热爱开源,长期做开源工作的工程师。 非常感谢我们这个专业社区, 经过2年的努力,我们终于开发出了基于golang 和docker底层技术的面向金融行业的分布式平台。并且作为国内领先的团队,在超大型金融企业的项目中落地,真正发挥了golang的的威力。 随着业务良好的扩展,我们开始扩展团队,这次仍旧在上海总部招聘 2位golang 开发工程师 招聘情况如下,喜欢golang , 分布式和开源技术的小伙伴快来加入我们把。 工作地点: 上海 职位描述: 分布式平台开发工程师 薪酬范围:12k-20k, 13个月 (薪酬级别依照开发经验设置。另外由于我们过去一年已经有...阅读全文

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

近日,Hacker News 发布了 2018 年 7 月的编程语言招聘趋势排行榜,其中,Go语言已经反超Java进入了前三名的行列。从浅绿色的Go语言走势图可以看出来,企业对于Go语言的采用情况在逐年上升。从公司角度看,许多大厂都已经开始拥抱Go语言,包括以Java打天下的阿里巴巴,更别提深爱着Go语言的滴滴、今日头条、小米、奇虎360、京东等明星公司。同时,创业公司诸如轻松筹、快手、知乎、探探、美图、猎豹移动也钟爱Go语言,因为Go语言具有入门快、程序库多、运行迅速等特点,也比较适合快速构建互联网软件产品。说到Go语言的应用场景,它基本可以用在所有对于性能有较高要求的系统中,比如分布式系统、网络编程、高并发系统、服务端编程。目前流行的Docker、Kubernetes、istio、ns...阅读全文

博文 2019-01-30 12:31:04 g6U8W7p06dCO99fQ3

Python已是过去式?Golang才是未来?

image Go语言诞生于谷歌,由Rob Pike、Ken Thompson和Robert Griesemer三位计算机科学硕士撰写。由于其知名度,Go自成立以来就引起了众多开发者的关注。自从它10年前诞生以来,许多基于Go的应用程序已经出现。不久前,知乎放弃了python,用go来重建推荐系统。 Google的前雇员Jake wilson认为,与熟悉的python相比,go语言有许多好的特性,在许多情况下可以取代python。在许多任务中,他用Go语言取代了Python。那么,Go语言的独特魅力是什么呢?什么比Python更好?让我们一起了解。 2019 年程序员最想学习的编程语言 image 出身名门的 Go 语言 对于一种只有十年历史的新语言来说,Go正在迅速发展。作为容器界的扛把子,...阅读全文

博文 2019-08-07 21:32:53 柏链项目学院P叔

golang 单元测试(gotests、mockery自动生成)

golang 单元测试 文件格式:go单元测试,有固定的名称格式,所有以_test.go为后缀名的源文件在执行go build 时不会被构建成包的一部分,他们是go test 测试的一部分。 测试函数 函数格式:每个测试函数是以Test为函数名称前缀。 每个测试函数必须导入testing包。 func TestName(t *testing.T) { // ... } 基准测试(benchmark) 函数格式:函数前缀名称Benchmark。 作用:用于衡量函数的性能。会多次运行基准函数,计算一个平均的执行时间。 示例函数 函数前缀名称Example 作用:提供一个由编译器保证正确性的示例文档。 命令介绍 参数-v可用于打印每个测试函数的名字和运行时间: go test -v 2.-run ...阅读全文

博文 2018-10-08 19:34:42 super大橙子