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

在Golang中获取DNS记录

使用Golang获取域名的DNS记录, 包括A / CNAME等类型. 方案1: 官方net包 只举例获取CNAME类型的解析记录, 其他类型大同小异. func CNAME(src string) (dst string, err error) { dst, err = net.LookupCNAME(src) return } 官方net包调用的是系统API, 所以在不同的系统上可能有不同的结果, 我测试当一个域名的解析记录如下时, linux和windows返回的结果不一致. bysir.xyz. 297 IN CNAME blog.bysir.top. blog.bysir.top. 60 IN CNAME bysir.top. bysir.top. 60 IN A 78.178.2...阅读全文

博文 2019-05-27 19:34:39 bysir

详解 Go 语言中的 time.Duration 类型

长久以来,我一直抓狂于 Go 标准库中的 Time 包,我的抓狂来自于两个功能,一是捕获两个不同时间段之间间隔的毫秒数,二是将一个用毫秒表示的连续时间段与预先定义的时间段进行比较。这听起来很简单,没错,确实如此,但它的确让我抓狂了。 在 Time 包中,定义有一个名为 Duration 的类型和一些辅助的常量: ```go type Duration int64 const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Millisecond = 1000 * Microsecond Second = 1000 * Millisecond Minute = 60 * Second Hour = 60 * Minute ) ...阅读全文

博文 2018-03-17 23:10:54 swardsman

[笔记]Go语言的字符串拼装方式性能对比

Go语言中字符串的拼装方法很多,那么问题来了,到底哪家性能好? 下面代码,分别比较了 fmt.Sprintf,string +,strings.Join,bytes.Buffer,方法是循环若干次比较总时间。 在VMWare下的Ubuntu 14.04下运行的结果表明: fmt.Sprintf 和 strings.Join 速度相当 string + 比上述二者快一倍 bytes.Buffer又比上者快约400-500倍 如果循环内每次都临时声明一个bytes.Buffer来使用,会比持续存在慢50%,但是仍然很快 测试代码如下: package main import ( "bytes" "fmt" "strings" "time" ) func benchmarkStringFuncti...阅读全文

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

命令: go build

go help build 构建编译由导入路径命名的包,以及它们的依赖关系,但它不会安装结果. 使用 go build [-o 输出名] [-i] [编译标记] [包名] 如果参数为***.go文件或文件列表,则编译为一个个单独的包。当编译单个main包(文件),则生成可执行文件。当编译单个或多个包非主包时,只构建编译包,但丢弃生成的对象(.a),仅用作检查包可以构建。当编译包时,会自动忽略'_test.go'的测试文件。 参数 -o output 指定编译输出的名称,代替默认的包名。 -i install 安装作为目标的依赖关系的包(用于增量编译提速)。 以下 build 参数可用在 build, clean, get, install, list, run, test -a 完全编译,不...阅读全文

博文 2017-02-21 10:00:42 0zaki1sc

正确使用Go的Timer

我们总是会使用Timer去执行一些定时任务,最近在Go语言的定时器使用上面不小心踩到一点问题,这里记录一下。 go demo(input) func demo(input chan interface{}) { for { select { case msg <- input: println(msg) case <-time.After(time.Second * 5): println("5s timer") case <-time.After(time.Second * 10): println("10s timer") } } } 写出上面这段程序的目的是从 input channel 持续接收消息加以处理,同时希望每过5秒钟和每过10秒钟就分别执行一个定时任务。但是当你执行这段程序...阅读全文

博文 2014-11-16 09:30:05 skoo

golang开发环境搭建

Golang开发环境搭建 Golang 入门教程 开发环境搭建 介绍 Go语言是谷歌推出的一种全新的编程语言, 可以在不损失应用程序性能的情况下降低代码的复杂性。 谷歌首席软件工程师罗布派克(Rob Pike)说: 我们之所以开发Go, 是因为过去1 0多年间软件开发的难 度令人沮丧。 谷歌资深软件工程师罗布·派克(Rob Pike)表示, “Go让我体验到了从未有过的开发效率。 ”派克表示, 今天的C++或C一样, Go是一种系统语言。 他解释道, “使用它可以进行快速开发, 同时它还是一个真 正的编译语言, 我们之所以现在将其开源, 原因是我们认为它已经非常有用和强大。 百度百科 维基百科 golang官网 安装 Windows 官方说明 http://golang.org/doc/in...阅读全文

博文 2014-12-05 14:00:02 steven_hl_0901

Go 语言测试(Test)、性能测试(Benchmark) 学习笔记

简介 Test Package testing provides support for automated testing of Go packages. It is intended to be used in concert with the “go test” command, which automates execution of any function of the form. testing包提供了对Go包的自动测试支持。 这是和go test 命令相呼应的功能, go test 命令会自动执行所以符合格式 func TestXXX(t *testing.T) 的函数。 Benchmark Functions of the form func BenchmarkXxx(b ...阅读全文

博文 2015-12-14 18:00:00 cchd0001

零猫科技告诉你-Go语言可以干嘛?

Hi,大家好!我是GO首席软件工程师Rob Pike说:我之所以被开发,是因为过去10多年间软件开发的难度令人沮丧。你所不知的,GO Go语言是谷歌发布的第二款开源编程语言。专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此也被设计用来解决多处理器的任务。我是GO,我够红 目前,已经有很多公司开始使用Go语言开发自己的服务,甚至完全转向Go开发,也诞生了很多基于Go的服务和应用,比如Dokcer、k8s等,现在我们看下,有哪些大公司在用Go语言了。Google对Go寄予厚望。旗下Ap...阅读全文

内网穿透工具 frp

frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。 ### frp 的作用 * 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。 * 对于 http 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。 * 利用处于内网或防火墙后的机器,对外网环境提供 tcp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。 * 可查看通过代理的所有 http 请求和响应的详细信息。(待开发) ### 开发状态 frp 目前正在前期开发阶段,master ...阅读全文

开源项目 2016-09-07 15:56:33 fatedier

使用 SwaggerUI 创建 Golang API 文档

为你的 API 提供一个文档比你想象中更加有用,即使你没有公开你的 API ,为你的前端或者移动团队提供一个文档会比你提供截图/片段或使用 Postman/Insomnia (带有同步的高级版本)等付费产品更容易。借助 SwaggerUI ,您可以自动获得所有 API 的设计良好的文档。当切换到 Go 时,由于缺少文档/教程,我在配置它的时候出现了一些问题,所以我决定写一个。 ![goswagger](https://raw.githubusercontent.com/studygolang/gctt-images/master/swagger-golang/swagger-golang1.jpg) 示例程序:[链接](https://github.com/ribice/golang-swa...阅读全文

博文 2018-02-05 12:02:27 toseek

GO语言学习: 项目构建 及编译 初步

一个GO工程中主要包含以下三个目录: src:源代码文件 pkg:包文件 bin:相关bin文件 step1: 建立工程文件夹 goproject step2: 在工程文件夹中建立src,pkg,bin文件夹 step3: 在GOPATH中添加projiect路径 例 e:/goproject step4: 如工程中有自己的包examplepackage,那在src文件夹下建立以包名命名的文件夹 例 examplepackage step5;在src文件架下编写主程序代码代码 goproject.go step6;在examplepackage文件夹中编写 examplepackage.go 和 包测试文件 examplepackage_test.go step7; 编译调试包 go bui...阅读全文

博文 2015-06-04 18:00:00 phlong999

golang命令行库cobra的使用

简介 Cobra既是一个用来创建强大的现代CLI命令行的golang库,也是一个生成程序应用和命令行文件的程序。下面是Cobra使用的一个演示: Cobra提供的功能 简易的子命令行模式,如 app server, app fetch等等 完全兼容posix命令行模式 嵌套子命令subcommand 支持全局,局部,串联flags 使用Cobra很容易的生成应用程序和命令,使用cobra create appname和cobra add cmdname 如果命令输入错误,将提供智能建议,如 app srver,将提示srver没有,是否是app server 自动生成commands和flags的帮助信息 自动生成详细的help信息,如app help 自动识别-h,--help帮助flag...阅读全文

博文 2016-07-29 10:00:01 borey

golang 字符串常用操作(go练习代码)

练习golang string常用操作,备份 类型转换 比较对比 搜索 查找 统计 替换 删除过滤 大小写转换 前缀后缀 字符串分割 拼接 3中拼接字符串方式对比 func main() { fmt.Println("字符串测试") fmt.Println("字符串转化") //获取程序运行的操作系统平台下 int 类型所占的位数,如:strconv.IntSize。 //strconv.IntSize fmt.Println("将字符串转换为 int 型。") var trastr01 string = "100" traint01, err_tra := strconv.Atoi(trastr01) if err_tra != nil { fmt.Println(err_tra) } e...阅读全文

博文 2017-10-17 05:04:48 正为疯狂

基于gin和vue开发的全栈后台管理系统脚手架gin-vue-admin

## 开发文档 [在线文档](http://doc.henrongyi.top/) [http://doc.henrongyi.top/](http://doc.henrongyi.top/) 本模板使用前端ui框架为 element-ui https://element.eleme.cn/#/zh-CN 前端组件可查看elementUi文档使用 ## 基本介绍 >GIN-VUE-ADMIN是一个基于vue和gin开发的全栈前后端分离的后台管理系统,拥有jwt鉴权,动态路由,动态菜单,casbin鉴权,表单生成器,代码生成器等功能,提供了多种示例文件,让大家把更多时间专注在业务开发上。 ## 技术选型 1. 后端采用golang框架gin,快速搭建基础restful风...阅读全文

开源项目 2020-04-02 15:37:55 奇淼

go语言坑之for range

go只提供了一种循环方式,即for循环,在使用时可以像c那样使用,也可以通过for range方式遍历容器类型如数组、切片和映射。但是在使用for range时,如果使用不当,就会出现一些问题,导致程序运行行为不如预期。比如,下面的示例程序将遍历一个切片,并将切片的值当成映射的键和值存入,切片类型是一个int型,映射的类型是键为int型,值为*int,即值是一个地址。 package main import "fmt" func main() { slice := []int{0, 1, 2, 3} myMap := make(map[int]*int) for index, value := range slice { myMap[index] = &value } fmt.Println...阅读全文

博文 2017-04-13 07:18:17 songleo

go语言编译器详解

这里以Windows7 64位为例,如果是32位环境需安装对应版本程序。 一、安装golang1.2.2 1.3及1.3.1编译生成的二进制文件,无法使用LiteIDE23.2携带的gdb7.7进行调试。 二、安装及配置LiteIDE 将liteidex23.2.windows.7z解压到D:\即完成安装。 2.1 设置编辑环境 因为是64位环境,所以选择“win64”。 查看->编辑环境变量,确认GOROOT变量与GO安装路径一致。 2.2 添加GOPATH 查看->管理GOPATH...,创建新目录E:\Code_Repository\golang,并添加到“自定义目录”。 2.3 新建项目 选择上一步添加的GOPATH,模板为Go1 Command Project 编辑源代码,添加几行...阅读全文

博文 2016-11-21 07:00:09 gjy211

Go最新的dep详解

该文翻译自https://medium.com/i-can-haz-downtime/dep-101-c85e8ab6ed45#.hbngswi0e我很高兴在过去几个月和几个其他gopher开发的一个原型依赖管理工具,名为dep。dep是去年开始由Peter Bourgon组织的项目的一部分。由于我参与开发了一个“godep”,Go的OG依赖管理工具(继承自Keith Rarick),因此加入了dep项目的团队。除了我自己和Peter,团队的其他成员是Jessie Frazelle,Andrew Gerrand和Sam Boyer。 Andrew是Google Go team的一员。 Jessie在Google工作,并参与过大型Go项目,如Docker和Kubernetes。 Sam维护gp...阅读全文

博文 2017-02-14 11:24:45 方圆

go reflect TypeOf 与ValueOf

学习go的反射对于理解go的底层实现以及接口机制有着非常重要的价值;本篇文章从一个源程序来体验一下go反射的两个核心函数TypeOf 和ValueOf的使用方法,特别体验下怎么根据type构造type实例的办法。 package main import ( "fmt" "reflect" ) type Speaker interface { Speak()string Set(string) } type Teacher struct { Name string } func (this *Teacher) Speak() string { return this.Name } func (this *Teacher) Set(name string) { this.Name = name ...阅读全文

博文 2015-06-18 09:03:56 hittata

go语言:flag的使用

go语言flag的使用 package main import ( "flag" "fmt" ) var music_file *string = flag.String("file", "musicfile", "Use -file ") func main() { flag.Parse() fmt.Println(*music_file) } 例如文件为flagTest.go go run flagTest.go -file "../music/sun.mp3" 即可指定file参数的值。 如果直接使用go run flagTest.go -file则会提示你-file的使用说明.-file="musicfile": Use -file 如...阅读全文

博文 2014-10-21 23:00:00 x369201170

godebug:一个跨平台的Go程序调试工具

godebug是一个跨平台的Go程序调试工具,传统的编译型语言调试器使用底层系统调用并读取二进制文件用于调试各类符号。使用起来很麻烦而且很难移植。 godebug使用不同的方法,直接把源码作为目标程序,在每一行插入调试代码,然后编译并运行。结果就是一个全功能的调试器,完全可以移植到不同平台。事实上,由于有了gopherjs ,你也可以在浏览器上进行调试: 点击此处尝试原文调试窗口。通过原文的“DEBUG IT”按钮,你可以编辑程序并重新调试它。 工作原理 下面这张是描述上面例子的矢量图: 从中可以看出原始代码转换了两次:第一次godebug插入调试instrumentation,然后gopherjs将结果编译成JavaScript。 让我们看一下instrumentation步骤,以下是go...阅读全文

博文 2015-04-23 01:00:00 mengyidan1988

golang教程

最近兴趣所致,打算写一本书《build-web-application-with-golang》 目前已经完成了前面两章 1.GO环境配置 1.1. GO安装 1.2. GOPATH 与工作空间 1.3. GO shell命令 1.4. GO开发工具 1.5. 小结 2.GO语言基础 2.1. 你好,GO 2.2. GO基础 2.3. 流程和函数 2.4. struct 2.5. 面向对象 2.6. interface 2.7. 并发 2.8. 通讯 2.9. 小结 3.设计开发博客系统 4.如何实现路由 5.web语言处理 6.模版处理 7.session和cookie 8.数据库 9.如何编写REST 10.文件上传 11.webSockets 12.静态文件服务 13.如何国际化 14...阅读全文

博文 2014-10-04 19:26:45 astaxie

百度网盘工具箱BaiduPCS-Go

基于go语言的百度网盘工具箱,百度帐号多用户支持。 网盘内列出文件和目录, **支持通配符匹配路径**, 通配符_百度百科。 下载网盘内文件, 支持网盘内目录 (文件夹) 下载, 支持多个文件或目录下载, 支持断点续传和高并发**高速**下载; 下载测试,服务器: 阿里云,下载 4G 文件, 只需 7分29秒。 ![image](https://static.oschina.net/uploads/space/2018/0206/142909_lScL_3703517.png) **程序 下载/运行 说明** Go语言程序, 可直接下载使用, [点此查看发布页面 / 下载汇总](https://github.com/iikira/BaiduPCS-Go/releases)...阅读全文

开源项目 2018-02-06 15:30:01 网友

go语言的一些资料

1.首先推荐一个基础学习go的,趣味性,针对性不错,对基础很好。http://go-tour-zh.appsp0t.com/#1 2.tideide 一个好go编辑器,能调试,有项目构建,方便配置交叉编译,语法高亮功能。 3.go文档,中文的虽然不全,但是基本的都有https://golang-china.googlecode.com/svn/trunk/Chinese/golang.org/index.html#toc11 (也许要架梯子,你懂的) 4.go语言google group https://groups.google.com/forum/#!forum/golang-china 5.go实现的blog合集:http://www.cnblogs.c...阅读全文

golang 单元测试

单元测试是质量保证十分重要的一环,好的单元测试不仅能及时地发现问题,更能够方便地调试,提高生产效率,所以很多人认为写单元测试是需要额外的时间,会降低生产效率,是对单元测试最大的偏见和误解 go 语言原生支持了单元测试,使用上非常简单,测试代码只需要放到以 `_test.go` 结尾的文件中即可。golang的测试分为单元测试和性能测试,单元测试的测试用例以 `Test` 开头,性能测试以 `Benchmark` 开头 ### 举个例子 实现排列组合函数对应的单元测试和性能测试 #### 实现排列组合函数 ``` // combination.go package hmath func combination(m, n int) int { if n > m-n { n = m - n } c...阅读全文

博文 2018-02-02 03:01:44 hatlonely

还有比这更好的消息吗?— Go支持Android和iOS

minux大神就说了: 代码在 https://bitbucket.org/minux/goios 的 ios3 分支。 初步的文档在 misc/ios/README。交叉编译需要 iOS SDK,得在 OS X 上面开发。理论上如果你能在 Linux 架设交叉编译环境的话,在 Linux 上开发也不是不行。 我计划把这个 port 加入到 Go 1.5。按照 Brad 给出的 1.5 预览, 应该问题不大。http://talks.golang.org/2014/state-of-the-gopher.slide#40 现在的问题是如何架设 builder。 哎,断断续续搞了3年,终于搞定了。我觉得用 Go 开发 iOS 程序比用 Go 开发 Andro...阅读全文

go语言之http

go语言http 1、net/http 包提供的 http.ListenAndServe() 方法,在指定的地址监听该方法用于在指定的 TCP 网络地址 addr 进行监听,然后调用服务端处理程序来处理传入的连 接请求。该方法有两个参数:第一个参数 addr 即监听地址;第二个参数表示服务端处理程序, 通常为空,这意味着服务端调用 http.DefaultServeMux 进行处理,而服务端编写的业务逻 辑处理程序 http.Handle() 或 http.HandleFunc() 默认注入 http.DefaultServeMux 中。2.处理https请求 func ListenAndServeTLS(addr string, certFile string, keyFile strin...阅读全文

博文 2018-11-14 18:35:09 PowerMichael

Go 语言中文网 联合 实验楼 送福利

[实验楼](https://www.shiyanlou.com) 是国内领先的IT技术实训平台,采用创新的“在线实验”学习模式,为学生及在职程序员提供编程、运维、测试、云计算、大数据、数据库等最新的IT技术实践课程。 实验楼建设初衷是帮助学习者通过动手实践收获知识,同时体会实验精神。德国教育学家斯普朗格说:“教育的最终目的不是传授已有的东西,而是要把人的创造力量诱导出来”,实验楼设计理念也是如此:从实践切入,依靠交互性、操作性更强的课程,理论学习+动手实践共同激发你的创造力。 实验楼 联合 Go 语言中文网 给 gopher 送福利:**价值 30 元的优惠码**,可以抵扣会员或训练营。 优惠码兑换在 [物品兑换](/gift) 页面。 ...阅读全文

go语言init和main函数

Go里面有两个保留的函数:init函数和main函数。下边就来比较一下两个函数的异同。 相同点:两个函数在定义时不能有任何的参数和返回值,且Go程序自动调用。 不同点:init可以应用于任意包中,且可以重复定义多个。main函数只能用于main包中,且只能定义一个。 下边说一下两个函数的执行顺序: 对同一个go文件的init()调用顺序是从上到下的 对同一个package中不同文件是按文件名字符串比较“从小到大”顺序调用各文件中的init()函数,对于 对不同的package,如果不相互依赖的话,按照main包中"先import的后调用"的顺序调用其包中的init() 如果package存在依赖,则先调用最早被依赖的package中的init() 最后调用main函数 下图截自astaxie...阅读全文

博文 2015-06-17 23:02:22 Mervyn1205

golang log用法

21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> package main import ( "log" "os" ) var logger *log.Logger func main() { file, err := os.OpenFile("test.log", os.O_APPEND|os.O_CREATE, 666) if err != nil { log.Fatalln("fail to create test.log file!") } defer file.Close() logger = log.New(file, "", log.LstdFlags|log.Lshortfile) // 日志文件格式:log包含时间及文件行数 log.Pri...阅读全文

博文 2018-09-01 14:33:12 Robin3D

Golang调用动态库so

测试动态库 test_so.h ``` int test_so_func(int a,int b); ``` test_so.c #include "test_so.h" ``` int test_so_func(int a,int b) { return a*b; } ``` 生成so ``` gcc -shared ./test_so.c -o test_so.so ``` 复制so文件到golang项目目录 golang项目目录,建立 load_so.h ``` int do_test_so_func(int a,int b); ``` load_so.c ``` #include "load_so.h" #include int do_test_so_func(i...阅读全文

博文 2017-09-15 03:56:05 1019459067

Golang数据库操作

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"// 引入数据库驱动注册及初始化_ "github.com/g...阅读全文

博文 2015-06-17 20:01:42 CoProphet

golang的闭包和普通函数调用区别

先看一段程序 package main import ( "fmt") func main() { a := []int{1, 2, 3} for _, i := range a { fmt.Println(i) defer p(i) } } func p(i int) { fmt.Println(i) } 运行这段程序,输出结果为 1 2 3 3 2 1 这里就是普通的函数调用,每次调用func p时,完成 i 的值复制,然后打印,此时 i 值复制了3次,分别是1,2,3。由于defer是后进先出,所以执行变成3,2,1 下面我我们用闭包改写下程序: package mainimport ( "fmt")func main() { a := []int{1, 2, 3} for _, i ...阅读全文

博文 2014-10-04 19:26:14 liangDream

Go 解决"Connection reset by peer"或"EOF"问题

【问题】 我编写了一个http Client程序代码如下: // create a request req, err := http.NewRequest(method, url, body) if err != nil { return nil, err } // send JSON to firebase resp, err := http.DefaultClient.Do(req) if err != nil { return nil, err } if resp.StatusCode != http.StatusOK { return nil, fmt.Errorf("Bad HTTP Response: %v", resp.Status) } defer resp.Body.Clo...阅读全文

博文 2016-12-19 14:00:02 吃一堑消化不良

CentOS安装Go语言编译环境&配置LiteIDE

Go语言是谷歌2009正式推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。 到这里 https://code.google.com/p/go/downloads/list 选择你需要的版本,安装非常简单,如下: 1 2 3 wget https://go.googlecode.com/files/go1.1.1.linux-386.tar.gz tar -C /usr/local -xzf go1.1.1.linux-386.tar.gz vim /etc/profile #打开/etc/profile在最后添加下面两行 export GOROOT=/usr/local/go export PATH=$GOROOT/bin:$PATH 1 2 3 4 source...阅读全文

博文 2014-10-12 19:00:01 hack715

goconvey - 课时 1:优雅的单元测试

注意事项 本博客隶属于 goconvey - 课时 1:优雅的单元测试 请注意配套使用。 本博文为 goconvey - Go 语言单元测试包的配套博客,旨在通过文字结合代码示例对该库的使用方法和案例进行讲解,便于各位同学更好地使用和深入了解。 库简介 Go 语言虽然自带单元测试功能,在 GoConvey 诞生之前也出现了许多第三方辅助库。但没有一个辅助库能够像 GoConvey 这样优雅地书写代码的单元测试,简洁的语法和舒适的界面能够让一个不爱书写单元测试的开发人员从此爱上单元测试。 下载安装 您可以通过以下两种方式下载安装 GoConvey: gopm get github.com/smartystreets/goconvey 或 go get github.com/smartystre...阅读全文

博文 2014-10-20 09:29:06 无闻

Pokemon Go 教程

 澳大利亚apple id 账号:fdf087469@163.com 密码:He807671626 据说不要登icould,一登就会锁了 将iPhone内部的Appstore ID更改一下。登入AppStore,可以看见AppStore已经自动切换到澳大利亚区,直接搜索Pokemon Go,点击下载。此过程稍微慢点,请各位耐心等待。 pokemon go中国玩家必须懂的教程 下载完先别着急,将刚刚iCloud ID更换成你原来的,再次登入AppStore,已经自动切换到国区(最垃圾的就是国区!!),搜索下载一个VPN,这里我推荐Green VPN或者Tiger VPN,可以免费用10天(感觉爽就付费包月咯)。 pokemon go中国玩家必须懂的教程 下载完VPN,打开VPN软件,会提示设...阅读全文

博文 2016-07-18 12:00:01 q8649912

Go计算运行的时间

函数time.Since() 计算golang运行的时间是非常有用的性能衡量指标,特别是在并发基准测试中。下面将介绍如何简单地使用Go语言来计算程序运行的时间。 简单地使用Golang的time.Since()函数即可。下面有一个完整例子展示这个用法。 package main import ( "fmt" "time" ) func StartCac() { t1 := time.Now() // get current time //logic handlers for i := 0; i < 1000; i++ { fmt.Print("*") } elapsed := time.Since(t1) fmt.Println("App elapsed: ", elapsed) } fun...阅读全文

博文 2016-05-20 11:00:00 GreatElite

GoMock框架使用指南

序言 要写出好的测试代码,必须精通相关的测试框架。对于Golang的程序员来说,至少需要掌握下面三个测试框架: GoConvey GoStub GoMock 读者通过前面三篇文章的学习可以对框架GoConvey和GoStub优雅的组合使用了,本文将接着介绍第三个框架GoMock的使用方法,目的是使得读者掌握框架GoConvey + GoStub + GoMock组合使用的正确姿势,从而提高测试代码的质量。 GoMock是由Golang官方开发维护的测试框架,实现了较为完整的基于interface的Mock功能,能够与Golang内置的testing包良好集成,也能用于其它的测试环境中。GoMock测试框架包含了GoMock包和mockgen工具两部分,其中GoMock包完成对桩对象生命周期的...阅读全文

博文 2017-06-24 16:06:56 _张晓龙_

golang对象序列化和反序列化

模拟测试1,000, 000条数据 每条10个字节 也就是10M不到的 数据(高度结构化的数据) 过程 1.对象序列化为 byte 2.byte反序为对象 3.gzip压缩byte 测试语言go测试方案: raw byte,json ,bson, msgpack (protostuff需要先做对象配置文件,比较麻烦,通常认为和msgpack性能相当 )结果:msgpack 胜出 大小 gzip压缩后大小 对象到byte耗时 byte到对象耗时 raw 10000000 6573252(65%) 未测试 未测试 json 47515988 7919511 (17%) 3248ms 5280ms bson 49888910 9506965 (19%) 3863ms 6235ms msgpack ...阅读全文

博文 2014-10-04 19:27:16 咖啡伴侣

基于golang的桌面GUI开发

这里有一份基于golang的桌面GUI开发的客户端,依赖谷歌浏览器。背景我们的客户主要政府客户,对安全性易用性要求比较高。还需要实现一机一用户,数据传输加密,防劫持防嗅探等。这个时候需要开发专用的浏览器。传统方式使用 chromium C++开发,编译慢,开发慢,坑也比较多。解决方案使用go + GUI组件的方式调用本机Chrome浏览器,使用wensocket的方式实现程序和web之间Js函数调用的功能。比如在go程序中内置加密函数,在web中直接调用函数 desen("我是明文"); 类似APP+H5混合开发。并能获取本机机器码和用户信息绑定,实现一机一用户。更多功能可下载下面文件测试。文件,仅限测试抛砖引玉https://pan.baidu.com/s/1nEQsrXMAmW9_nYm...阅读全文

博文 2019-05-30 21:34:49 M3n

Go test 少为人知的特性

大多数的 Go 程序员都知道和喜欢用 `go test`,这个测试工具来自于 Go 官方的 `gc` 工具链。(想要执行测试代码)这个命令可能是最简单的了,而且还能做得很漂亮。 大家都知道,运行 `go test` 命令将执行当前目录下的包的测试代码,它会寻找 `*_test.go` 文件,并在这些文件中,寻找符合 `TestXxx(*testing.T){}` 命名的函数和参数(即,接收 `*testing.T` 参数的函数,命名为 `TestXxx`,`Xxx` 可以是任何不以小写字符开头的名字)。这个测试代码不会影响正常的编译过程,只在执行 `go test` 时被使用。 但这里还有很多隐藏的东西。 ## 黑盒测试包(The black box test package) 通常情况下,...阅读全文

博文 2018-03-14 17:31:50 gogeof

Go 解决"no buildable Go source file in"问题

【问题】 我有一个文件夹,文件夹名字叫 12 ,并且我创建了一个Go源文件 12_test.go,代码如下: package main import "fmt" func main() { fmt.Println("Hello world") } 运行下面命令时出了错: go build 12_test.go "go build command-line-arguments: no buildable Go source files in D:\12" 【解决】 _test后缀在Go语言中有着特殊含义,是用来给Go程序做测试的,build工具会忽略它们,它们会运行 go test。从文件名中删除_test,或者重命名就可以解决这个问题...阅读全文

博文 2016-12-15 13:00:02 吃一堑消化不良

解读 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)。 今年真可谓是不平静的一年,前有人工智能国家级战略的发布,行业已经在大跨步的挺进,但人才缺...阅读全文

golang-2018优秀开源框架和库

作者:承诺一时的美丽链接:https://www.jianshu.com/u/6719426bf97e來源:简书音频和音乐用于操纵音频的库。flac - Native Go FLAC解码器。flac - Native Go FLAC解码器。gaad - Native Go AAC比特流解析器。go-sox - 用于go的libsox绑定。go_mediainfo - 用于go的libmediainfo绑定。gosamplerate - 用于go的libsamplerate绑定。id3v2 - Go的快速稳定的ID3解析和编写库。malgo - 迷你音频库。minimp3 - 轻量级MP3解码器库。mix - 用于音乐应用的基于序列的Go-native音频混音器。mp3 - Native Go...阅读全文

博文 2019-01-25 15:34:48 西门厌

golang之flag.String

无论是c语言还是golang语言或是其他语言,启动应用程序时都可以带一些参数,然后系统根据传入的参数进行特点的工作。如:./main -b /home/backupdir -d true 那么如何更好的解析这些参数呢?前两周自己做项目时是通过 range os.Args 来解析这些参数。今天看到了 flag.String 这个方法,感觉之前做的好傻,觉得更应该用golang自带的flag.String来解析参数。 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 ) 7 8 func main() { 9 backup_dir := flag.String("b", "/home/default_dir", "backup path") 10 de...阅读全文

博文 2015-07-20 03:00:00 hezhixiong

goland ide 对于 go 1.11的配置

jetbrains 家的开发工具我一直很喜欢用,goland也没让我失望, go1.11 发布没多久,我试用过后感觉很方便,和goland也很契合,下面来说说对于新版本的go语言,在goland里面需要怎么配置

##### 需求: - 1.goland(我用的2018.2版本) - 2.go 1.11版本 #### 步骤 ##### 1.安装go 1.11,安装完不需要任何配置,(不需要你去配置什么GOPATH的环境变量,新版本的go实际上是不需要GOPATH) ##### 2.安装goland, 新建项目的时候按照下图选好go的路径(其实可以选择vgo去新建,vgo实际上在项目初始化的时候自动执行了 go mod init 项目名 命令 ) ![微信图片_2018100318...阅读全文

博文 2018-10-03 18:53:07 18657127505