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

分享一个Golang 学习站点:Go by Example,示例,源码,注释

分享一个Golang 学习站点:Go by Example,示例,源码,注释 很不错的一个网站和工具。主要内容包括: 1、为 Golang 各个知识点而写的小程序(放在 play.golang.org ); 2、适当的注释; 3、整站开源,从github clone 后,读者可利用内建的工具生成本地静态文件,甚至可以生成一个网站。 网址:https://gobyexample.com/ 源码:https://github.com/mmcgrana/gobyexample 知识点目录 Hello World Values Variables Constants For If/Else Switch Arrays ...阅读全文

阿里双11狂欢幕后:打造世界级计算引擎

2015天猫双11全球狂欢节拉开帷幕,阿里巴巴的工程师们又忙碌了起来。在力保全球“剁手党”顺畅购物的同时,他们还将在双11验证多项开创性技术,对全世界展示阿里巴巴的整体技术实力。 阿里巴巴双11技术总指挥刘振飞表示:“双11不仅是一场全球消费者的狂欢,也是对中国互联网技术体系的实力检验。一下子几千万人涌进来买买买, 这种真实的商业场景全世界一年也只有一次。阿里技术人能够用世界级的技术创新,支撑世界级的经济现象,是非常幸运的。” 异地多活:给1000公里外的飞机换引擎 去年双11,阿里巴巴在全球首创交易系统“异地双活”,而今年有了更大的突破:在支付宝这样高度复杂与严谨的金融系统中,实现1000公里以上的“异地多活”能力。 “异地多活”已经超越了两地三...阅读全文

golang 图像验证码

为什么base64图片 for RESTful 服务 Data URIs 支持大部分浏览器,IE8之后也支持. 小图片使用base64响应对于RESTful服务来说更便捷 godoc文档 在线Demo Playground Powered by Vuejs+elementUI+Axios wav file 安装golang包 go get -u github.com/mojocn/base64Captcha 对于中国大陆Gopher go get golang.org/x/image 失败解决方案: mkdir -p $GOPATH/src/golang.org/x cd $GOPATH/src/golang.org/x git clone https://github.com/golang...阅读全文

博文 2017-12-25 08:34:41 trytv

golang 之 import 和 package 的使用

golang 使用包 package 来管理定义模块,可以使用 import 关键字来导入使用。 如果导入的是 go 自带的包,则会去安装目录 $GOROOT/src 按包路径加载,如 fmt 包 如果是我们 go get 安装或自定义的包,则会去 $GOPATH/src 下加载 package 的定义 go import 的包是由 包路径/包名 组合而成的,例如导入我们自定义的 baz 包,包路径为 $GOPATH/src/foo/bar/baz,baz 包的源码都存放在此目录下。 我们需要规范的将 baz 包中源码的 package 定义为 baz,就定义好一个可 import 载入的的包了。 hello 模块 //$GOPATH/src/foo/bar/baz/hello.go pac...阅读全文

博文 2019-02-21 16:34:46 big_cat

Telegram中文群组

Telegram与币用有一定的内在联系的且数据是互通,为了方便大家交流可以尝试下载Telegram软件,那么问题来了,怎么下载呢?不要着急,大V今天就把下载的流程分享给大家。 Telegram 是免费、安全、无广告的开源跨平台通讯软件。 除了网页版,移动版覆盖 Android / iOS / WindowsMobile,桌面版覆盖 Windows / OsX / Linux。 Telegram 官网:https://telegram.org/ 官网上很全,可以按照自己使用的系统安装相应的。 ![飞机.png](https://static.studygolang.com/200401/12534b496e653cda2ea90a814157c10e.png) 智能手机端安装结束后,是一个纸飞...阅读全文

博文 2020-04-01 16:02:05 ttl147369

javaer to go之byte类型转换

在Socket的Server和Client通信的过程中,传输的都是字节。而我们需要展示和使用的是字符串、整形等。这个时候,我们需要对字节进行处理,把byte类型的数据转成我们需要的类型。 1、[]byte与16进制字符串 []byte转16进制字符串 import ( "bytes" "strconv" ) //byte转16进制字符串 func ByteToHex(data []byte) string { buffer := new(bytes.Buffer) for _, b := range data { s := strconv.FormatInt(int64(b&0xff), 16) if len(s) == 1 { buffer.WriteString("0") } buffe...阅读全文

博文 2016-04-23 14:00:01 p_3er

RocketMQ Golang /Node.js Client发布预告

图片发自简书App 近期RocketMQ Golang Client、Node.js Client 2个项目即将release新版本,欢迎有需要的公司或开发者优先使用。 rocketmq-client-nodejs项目https://github.com/apache/rocketmq-client-nodejs rocketmq-client-golang项目 https://github.com/apache/rocketmq-client-go为帮助大家快速使用这两个项目,社区建立了专门的支持群,感兴趣开发者可以联系微信 15201163137。 图片发自简书App 官微:扫二维码关注Apache RocketMQ官方微信公众号,获得RocketMQ技术干活和最新资讯。 图片发自简书A...阅读全文

博文 2018-12-27 18:34:45 RocketMQ技术_寈峰

golang-protobuf快速上手指南

什么是protobuf Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准。 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。 如何安装protobuf 在github获取protobuf源码,windows系统可以直接下载exe文件:https://github.com/google/protobuf/releases macos和linux环境使用源码进行安装的步骤 # 获取源码包 wget https://github.com/goog...阅读全文

博文 2018-08-21 01:34:46 豆瓣奶茶

阿里云全球首次互联网8K直播背后的技术解读

摘要: 3月28日,云栖大会·深圳峰会现场,阿里云发布并现场演示了阿里视频云最新8K互联网直播解决方案。这是全球发布的首个8K视频云解决方案,也是全球首次8K互联网视频直播。 视频地址:https://v.qq.com/x/page/v0618atp7nr.html 舞台的屏幕上显示了从1300公里以外的阿里巴巴杭州园区传输回来的直播图像视频。 3月28日,云栖大会·深圳峰会现场,阿里云发布并现场演示了阿里视频云最新8K互联网直播解决方案。这是全球发布的首个8K视频云解决方案,也是全球首次8K互联网视频直播。 视频地址:https://v.qq.com/x/page/v0618atp7nr.html 舞台的屏幕上显示了从1300公里以外的阿里巴巴杭州园区传输回来的直播图像视...阅读全文

微信小程序解码工具

项目地址 https://github.com/sjatsh/unw... & 个人博客 https://sjatsh.com 起因 前段时间想学习微信小程序开发但是又没有什么深厚前端功底,看到很多很好玩的小程序想要做一个类似的学习学习,所以想着借鉴一下现有的小程序。但是苦于没有源码,抓包也没有办法获取源码。 google后知道可以用安卓模拟器安装微信然后安装小程序,然后在文件系统中找到小程序对应的wxapkg文件,拿到压缩包解压后就可以得到小程序源码。 但是压缩包是2进制文件,找了一遍后发现一个现有现有的开源项目可以直接解压小程序压缩包。 废话不多说,直接开干~ 获取小程序压缩包文件一、下载网易MuMu安卓模拟器 下载地址 http://mumu.163.com/ 二、安装微信和RE文件管...阅读全文

博文 2019-01-08 01:34:44 打瞌睡滴花花

go源码下载编译

各位大侠,我打算研究下go的一个开源软件influxdb,github上下载下来后,执行build,发现有很多code.google.com/p/log4go 类似的第三方包下载不下来。win7下的开发环境,执行set http_proxy后 执行go get 报错:_ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed, 各位是怎么下载的? 还有 go 的开发 一般都是在linux下吗...阅读全文

go net 包详解1

/** * Created by Administrator on 13-12-9. */ package main import ( "fmt" "os" "net" ) /** * 将string类型的ip地址转换为IP对象 */ func main() { name := "192.168.1.97" ip := net.ParseIP(name) if ip == nil { fmt.Fprintf(os.Stderr, "Err:无效的地址") return } fmt.Fprintf(os.Stdout, "IP: %s %s\n", ip, ip.String()) defaultMask := ip.DefaultMask() fmt.Fprintf(os.Stdout, "...阅读全文

博文 2015-06-18 09:03:55 eclipser1987

Go 编译器介绍

cmd/compile 包含构成 Go 编译器主要的包。编译器在逻辑上可以被分为四个阶段,我们将简要介绍这几个阶段以及包含相应代码的包的列表。 在谈到编译器时,有时可能会听到前端front-end和后端back-end这两个术语。粗略地说,这些对应于我们将在此列出的前两个和后两个阶段。第三个术语中间端middle-end通常指的是第二阶段执行的大部分工作。 请注意,go/parser 和 go/types 等 go/* 系列的包与编译器无关。由于编译器最初是用 C 编写的,所以这些 go/* 包被开发出来以便于能够写出和 Go 代码一起工作的工具,例如 gofmt 和 vet。 需要澄清的是,名称 “gc” 代表 “Go 编译器Go compiler”,与大写 GC 无关,后者代表垃圾收集g...阅读全文

博文 2018-09-04 11:31:04 mvdan

Go net包介绍

文链接:http://blog.csdn.net/cc7756789w/article/details/51014076 作者:牧歌 github:github.com/ZhangHang-z 转载请注明出处,未经作者允许不可用于商业目的。 与大多数语言一样,Go的标准库很全,因为Go的出现本来就是为了网络通信的高并发实现,所以其相关的网络库封装得更简洁,更Readable。 这里来大致介绍几个网络库,掌握了学习方法,那么只要里面有那个功能,你就能找到并快读查阅源码,了解其实现。 net.ResolveIPAddr() 根据域名查找IP地址 不得不感叹Go为开发者考虑良多,godoc这个工具真的很方便!先看下源码。 $ godoc -src net.ResolveIPAddr func Re...阅读全文

博文 2016-03-30 16:00:06 cc7756789w

golang strconv数据类型转换的用法

strconv是golang用来做数据类型转换的一个库。 介绍下strconv最常用的两个方法, 虽然没有解释语言那么自在可以str(int),int(string), 那还算简练。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/2016/03/08/golang-strconv%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2%E7%9A%84%E7%94%A8%E6%B3%95/ Python #xiaorui.cc Atoi (string to int) func Atoi(s string) (i int, err error) Itoa (int to ...阅读全文

博文 2017-04-04 19:25:09 rfyiamcool

破解golang

1、安装完后,在应用程序中找到goland,显示包内容 WX20200113-093441@2x.png 2、把jetbrains-agent.jar文件拷到bin目录下 WX20200113-093530@2x.png 3、在goland.vmoptions文件中添加,保存打开goland,输入激活码 -javaagent:jetbrains-agent.jar WX20200113-093609@2x.png goland安装包和破解补丁都在网盘上,有需要的自取 https://pan.baidu.com/s/1mVrLZGHJFrTUeWuinie7dg ps: 1、添加后goland打不开,请卸载掉再次安装; 2、输入校验码后不生效,请把网络断掉再次输入 祝大家好运!!!...阅读全文

博文 2020-01-13 10:32:57 xiaotimel

【荐】本站重磅推出Go精彩博文功能

国庆这几天一直在家里宅着开发本站,新开发的功能主要有: 1. 网友博文. 汇集了各大知名程序员社区和个人博客的优秀文章,方便 Go 爱好者阅读学习; 2. 首页改版. 相比之前,首页看起来更清爽; 3. 浏览数、评论和喜欢功能. 浏览数更准(有防刷屏功能);通用的评论和喜欢功能;喜欢点赞的朋友 点起; 4. 汇集了Go视频、图书等学习资料; 5. 强大的管理后台; 6. 其他改进:通用的侧边栏展示;窗口登录等 目前,社区话题和资源等界面还是老的,后续会替换为新样式。 本站[源码完全公开](https://github.com/studygolang/studygolang),欢迎 fork && pull。 [![管理后台](http://studygola...阅读全文

Go 1.4正式发布 支持Android开发

摘要:Go是谷歌2009年发布的一门开源的编程语言,目前代码托管地址已经移到Github上,大家可以更加方便的访问和玩耍啦。 今年是Go诞生的第五个年头,而Go 1.4版本也是其第五个稳定版本。与Go 1.3版本相隔6个月时间。此次版本更新最引人注目的是官方支持Android,现在,开发者可以使用Go开发简单Android App了。 该版本对小的语言进行了改进,支持更多的操作系统和处理器架构;改进了工具链和库。同样,Go 1.4也优化了稳定性,编译和运行方面都没有修改。 语言方面的改进是for-range循环方面的语法改进,在1.3版本中有两种写法,现在只需这样就可以了: 引用for range x { ... } 在1.4版本中还出来一个新的子命令,go generate,该命令主要用来...阅读全文

博文 2014-12-13 01:00:01 cao345657340

golang 包的管理

以前看golang包管理时,感觉有点混乱,套用python,lua包管理的方式不行,直到今天(2018.10.19)才基本搞清楚golang包管理的意思。 使用包package目的 使用包的目的是为了更加方便的管理源码。golang的理念是用文件夹来管理(或者叫约束)同种类型或同种功能的源码,例如数学计算的源码都放入math文件夹下,系统相关的放入os文件夹下。 一个文件夹下的源码中所有包名必须一样,但是包名可以与文件名不一样。例如项目中涉及到数学计算,建立一个文件夹为math,为了让功能独立,我们每一个功能使用一个go文件,诸如add.go,sub.go,div.go等。一个go文件必须要在开头指定所在的包,语法为package xxx,我们可以写为package "mymath"。 如何...阅读全文

博文 2019-04-29 07:31:37 zxm342698145

阿里云首推音乐变速短视频SDK,上线抖音 freestyle只需1步

摘要: 近期,阿里云短视频SDK更新了V3.3版本,增加了时下热门的实时混音和变速录制功能,这就是前文提到的抖音的核心玩法,也是现在C端年轻用户的主流偏好。 2016年可谓是短视频行业风生水起的一年,2017年更是呈现市场井喷的态势。短视频玩家从从秒拍、美拍到今年刚刚入局的土豆,竞争可谓激烈。值得关注的还有快手这匹短视频APP黑马,在它的引领下短视频服务被资本和市场普遍看好,据说快手至今已经覆盖4亿用户,日活达6000万之高。最近短视频圈多了一个后起之秀——抖音,这个画风奇绝动感酷炫的短视频APP上线不到半年就迅速走红,它主打的混音和变速玩法让年轻人欲罢不能。 短视频好像拥有一种魔力,可以无限激发用户的创作和表达欲望。这恰恰又是以内容为王的互联网服务之核心所在,所以各类垂直APP...阅读全文

go源码的 github 只读镜像

发现了一个 go 源码的 github 只读镜像,代码几乎和官方同步,不用翻墙可以看Go最新变化了。 另外,源码编译安装也可以通过这个镜像完成,不需要另外到 http://golang.org/dl 下载了,因为这个镜像包含了go所有分支和tag。 镜像地址:[https://github.com/jnwhiteh/golang](https://github.com/jnwhiteh/golang...阅读全文

到下一个千亿级视频市场需要多久 趣拍和阿里云说只要3小时

“以前需要10个技术人员组成开发团队,奋战半年才能上线的视频功能,有了我们和阿里云的短视频一站式解决方案后,最少只需要1个人用3个小时就能完成。”趣拍创始人王强宇说。 作为一名拥有18年创业史的创业老兵,王强宇始终没有忽视开发者的真正需求。早在趣拍的创业初期,王强宇就观察到,对许多APP的开发者而言,他们都非常希望能上线自己的视频功能,但囿于开发能力、人员成本等劣势,只靠自己的力量还无法实现。 要将趣拍的视频能力开放,让更多开发者使用这个功能,成为王强宇推出趣拍SDK时的初衷。 受这个梦想驱动,2015年7月,趣拍SDK诞生。在没有任何市场推广的情况下,趣拍SDK的讨论群从无到有,瞬间聚集了数百开发者,吸引数百应用接入,覆盖过亿用户。 但王强宇并未就此止步,他考虑到,...阅读全文

结束子进程以及它的子进程

在用 goreman 管理整个 TiDB 集群的时候,我发现 goreman 的 run stop 功能并不能正常的干掉 TiDB 组件,开始我觉得是我们自己代码的没有,没有很好的处理相关信号,但后来发现,TiDB 这边是压根没有收到信号,所以问题铁定在其他的地方,于是浏览下 goreman 的源码,发现使用的是 /bin/sh -c 的方式来启动的 TiDB 程序,可能就跟这个有关系。 首先,写两个简单的程序,一个是直接启动进程,另一个是使用 /bin/sh -c 的方式启动。简单起见,我们直接 sleep 很长一段时间,然后在 10 秒之后,kill 掉进程。 func child() { cmd := exec.Command("sleep", "600") start := time...阅读全文

博文 2017-06-21 02:16:07 siddontang

微信分销系统怎么做

今天微信有两件大事,一是小程序火爆上线,一是奢瑞小黑裙被封号,可谓有人欢喜有人愁。微信的封号举动让一众微分销商心惊胆战,现在还能做微信分销吗?大号都被封了我们还有必要继续做吗?万一我们也被封号怎么办?这篇文章会给你们答案。 先回顾下奢瑞小黑裙的分销之路: 2015年8月,奢瑞小黑裙项目正式上线; 2015年10月,获宏泰基金200万天使投资; 2015年底,小黑裙四个月销量达2.3万条; 2016年2月,获疑问集团投资; 2016年4月,获天神娱乐集团投资; 2016年7月,公众号“小黑裙SOIREE”粉丝突破700万; 2016年8月,微信平台整顿三级分销,小黑裙把三级分销模式改为“明星代言人”的一级分销模式; 2016年1月7日,小黑裙宣布加入腾讯“双百计划”;...阅读全文

BookStack V1.1版本发布,使用Beego开发的功能类似Gitbook和看云的在线文档管理系统

BookStack V1.1版本发布,使用Beego开发的功能类似Gitbook和看云的在线文档管理系统。 开源地址: - Github: https://github.com/TruthHun/BookStack - Gitee: https://gitee.com/truthhun/BookStack > 演示站点:http://demo.bookstack.cn > 正式站点:http://www.bookstack.cn 本次版本,主要升级和强化了以下内容: - [x] 增加备案链接链到工信部。 - [x] 文档阅读页面缺少了统计代码,已加上。 - [x] 解决给文档打分时分值错误的问题。 - [x] 一键导入和一键拉取...阅读全文

支付二维码融合 Go实现

个人店铺线下支付二维码,一般会放2个(1个微信收款码,一个支付宝收款码) 网上也提供很多多个二维码融合的技术,这里仅提供思路,以及GoLang实现的样例代码。 具体效果可看: 个人电铺注册 http://pay.xiaoa7.top:8090/register 需要提交个人的微信、支付宝收款码 个人融合二维码 http://pay.xiaoa7.top:8090/qr/注册时你填写商铺代码,可以将生成的二维码,打印在任何地方。 目前只支持微信,支付宝;后续可扩展支持其他。 融合二维码支付流程: 1.商户在支付宝、微信中生成个人收款码,存储到手机。 2.浏览器访问(微信里直接扫码打开这个地址也可以)http://pay.xiaoa7.top:8090/register ,提交收款码图片 3.服...阅读全文

博文 2019-01-19 11:34:44 xiaoa7

Docker源码分析(九):Docker镜像

1.前言 回首过去的2014年,大家可以看到Docker在全球刮起了一阵又一阵的“容器风”,工业界对Docker的探索与实践更是一波高过一波。在如今的2015年以及未来,Docker似乎并不会像其他昙花一现的技术一样,在历史的舞台上热潮褪去,反而在工业界实践与评估之后,显现了前所未有的发展潜力。 究其本质,“Docker提供容器服务”这句话,相信很少有人会有异议。那么,既然Docker提供的服务属于“容器”技术,那么反观“容器”技术的本质与历史,我们又可以发现什么呢?正如前文所提到的,Docker使用的“容器”技术,主要是以Linux的cgroup、namespace等内核特性为基础,保障进程或者进程组处于一个隔离、安全的环境。Docker发行第一个版本是在2013年的3月,而cgroup的...阅读全文

博文 2015-03-29 20:01:21 孙宏亮

Golang实现ping

ICMP部分的结构 报头 ICMP报头从IP报头的第160位开始,即第20个字节开始(除非使用了IP报头的可选部分)。 Bits 160-167 168-175 176-183 184-191 160 Type Code 校验码(checksum) 192 ID 序号(sequence) Type - ICMP的类型,标识生成的错误报文;Code - 进一步划分ICMP的类型,该字段用来查找产生错误的原因.;例如,ICMP的目标不可达类型可以把这个位设为1至15等来表示不同的意思。Checksum - 校验码部分,这个字段包含有从ICMP报头和数据部分计算得来的,用于检查错误的数据,其中此校验码字段的值视为0。ID - 这个字段包含了ID值,在Echo Reply类型的消息中要返回这个字段。...阅读全文

博文 2016-04-13 22:00:06 simplelovecs

写在最前面 - 《看懂每一行代码 - kubernetes》

我要写什么《看懂每一行代码 - kubernetes》会包含k8s整个项目的源码解析,考虑到门槛问题,在开始分析k8s之前我会通过一些更低难度的golang开源项目讲解来帮助大家提升golang编码技能;然后通过与k8s相关的一些项目的讲解,打通阻碍k8s学习的一些大障碍;最后集中火力,将kubernetes项目的整个源码吃透。总体来说,本系列计划分三步走完成源码层面掌握k8s的目标:golang技能提升k8s依赖技术k8s核心组件目前关于k8s应用的教程已经很多了,其中不乏相当优秀的文章,所以我不会特地去讲解k8s是功能层面知识点。本教程对大家的入门要求是会一点golang,会k8s的常规操作。写给谁看k8s的热门程度不需要我再赘述,k8s技术的重要性相信大家也都清楚,不会玩k8s怎么好意...阅读全文

博文 2018-06-19 16:37:04 CloudGeek

[go]ipv6 ping测试

其实很简单.就是对照go源码的ipraw_test.go和之前的ping.go 改造一个ping6.go.变化很小 // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // taken from http://golang.org/src/pkg/net/ipraw_test.go //20131204,尝试改造支持ipv6 package ping6 import ( "bytes" "errors" "net" "os" "t...阅读全文

博文 2014-10-04 19:25:56 laputa73

Python爬虫相关的基础有哪些?Python学习

现行环境下,大数据与人工智能的重要依托还是庞大的数据和分析采集,类似于淘宝 京东 百度 腾讯级别的企业 能够通过数据可观的用户群体获取需要的数据,而一般企业可能就没有这种通过产品获取数据的能力和条件,想从事这方面的工作,需掌握以下知识: 1. 学习Python基础知识并实现基本的爬虫过程 一般获取数据的过程都是按照 发送请求-获得页面反馈-解析并且存储数据 这三个流程来实现的。这个过程其实就是模拟了一个人工浏览网页的过程。 Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,我们可以按照requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。 2.了解非结构化数据的存储 爬虫抓取的数据结构复杂 传统的结构化数据...阅读全文

博文 2019-11-19 16:00:32 zhouzhou2018

go语言开发证券实时行情转码接口(多个坑)

朋友给了一个c++的实时行情接口,其中实时分笔成交的结构体如下: 1 typedef struct tagStockReport 2 { 3 WORD wDataSize; //数据长度 4 WORD wChecked; //数据校验 5 6 char szCode[STOCKCODESIZE]; //股票代码,以'\0'结尾 7 char szName[STOCKNAMESIZE]; //股票名称,以'\0'结尾 8 9 int nTradingUnit; //交易单位(每手多少股) 10 11 long ltime; // UCT 12 13 float fLastClose; // 昨收 14 float fOpen; // 今开 15 float fHigh; // 最高 16 fl...阅读全文

博文 2015-07-04 03:00:11 wangyanlb

深入理解Go之generate

概述 开发中经常有定义错误码这样的需求,错误码唯一标识具体的错误信息。另外还需要设置每个错误的具体描述。在 HTTP 协议中,200 表示 "OK",404 表示"Not Found"。在 Linux 系统中,ENOENT 的值为 2,表示"No such file or directory"。syscall包中定义了Errno类型表示系统错误码,非常易用使用,建议去看看。 每次定义错误码的时候,同时需要添加描述信息。而且描述信息经常会忘。本文介绍go generate + stringer工具链优雅地解决这个问题。 这里顺带提一句,golang tools 是官方提供的工具集,是 Gophers 的工具宝库,值得好好探索一番,参见Github 地址,文档地址。里面有丰富的开发辅助工具,所有...阅读全文

博文 2019-08-23 00:02:39 孤雨

Web产品实现个人收款的几种方式

##### 接入前准备 - 通过 [Payjq](https://payjq.cn) 注册个人收款接口,原理是帮助你签约微信和支付宝(不需要营业执照),大概几分钟可以开通,开通后即可永久使用。 ###### [NATIVE 扫码支付](https://help.payjq.cn/api-lie-biao/sao-ma-zhi-fu-ff08-zhu-sao-ff09.html) - 效果:用户点击支付后,前端网络请求你的后台,你后台再请求 Payjq支付接口返回支付二维码到前台,页面展示微信或者支付宝二维码,用户用手机微信或支付宝扫码支付 - 扫码请求步骤: - 构建请求参数 - POST 参数到请求地址 - 根据返回内容展示二维码 - 用户支付成功后接收异步通知 - 适用场景:PC网站、P...阅读全文

博文 2019-07-17 22:31:41 zilin9980

点触验证touclick

首创点触式新一代验证码 防数据爬取 / 防黄牛刷单 / 防垃圾注册 / 防恶意登录 / 防支付欺诈 / 防投票作弊,解决机器攻击带来的互联网病痛。 可感、可知、可信、可控,专注用户信息安全。 基于人工智能、机器学习、大数据分析的独特算法体系,以行为技术为核心保护用户信息安全。 在线体验:[https://www.touclick.com/online](https://www.touclick.com/online) **效果图:** 拖动拼合 ![image](https://static.oschina.net/uploads/space/2017/0304/221631_gvew_2720166.png) 图标点击 ![image](htt...阅读全文

Gatepay.io 独立开发者个人即时到账零费率收款平台 接入步骤

作为独立开发者产品需要收款是非常麻烦的,注册公司维护成本太高,市面上各种收款工具要么手续费太高,要么到账很慢,体验很不好。看到 「gatepay 个人收款」 这个收款工具,挺有意思的。原理是监控手机微信、支付宝的二维码扫码支付到账通知并回调开发者应用,通知开发者应用订单支付结果。「gatepay.io 个人收款」的优点是个人支付宝、微信就可以收款,不用签约,不用公司资质,并且费率非常低,接入速度非常快。一般人一个下午就可以搞定。​Gatepay 的原理以及其特点Gatepay 原理是通过在 Android 手机上安装 Gatepay App 检测微信和支付宝的二维码到账通知,进行订单回调。所以要用 GatePay 你需要一个闲置的 Android 手机,一般大家家里都有吧,GatePay 现...阅读全文

博文 2019-05-05 00:54:00 q0110347

golang里interface空指针

interface空指针不为nil 当把一个空指针对象赋值给一个interface后, var pi *int = nil var i interface{} i = pi fmt.Println(i == nil) // 结果为 false 这个不难理解,因为i = pi,不是将nil賳值给i,而是让i指向了pi这个对象。 简单翻了下源码,interface的定义应该是下面这两中的一个。 type iface struct { tab *itab data unsafe.Pointer } type eface struct { _type *_type data unsafe.Pointer } i = pi其实相当于i.data = unsafe.Pointer(&pi),而i == ...阅读全文

博文 2017-09-25 17:04:52 NeverLea

Go - http.Client源码分析

1. 起因 分析http.Client源码实现的起因, 是因为在使用如下步骤模拟网站登录时, 出现了问题, 参考知乎 - go net/http.Client 处理redirect: POST账号密码等参数进行登录 下发token, 此token通过cookie下发 重定向到主页/ 在通过http.Post进行请求, 预期不进行重定向, 能够直接获取到cookie值, 但实际上go帮我们处理了重定向, 丢失了cookie值 分析源码后, 可以很轻易地解决这个问题: // 请求http.calabash.top将被301重定向到https myClient := http.Client{ CheckRedirect: func(req *http.Request, via []*http.Re...阅读全文

博文 2019-08-23 16:34:38 hsabalaaaC

手机短信验证微服务SmsCode

专门为需要【手机短信验证码】使用场景而设计的微服务(Micro service),如:用户注册、找回密码、用户身份验证、验证码登录等等。 首先我没有找到已实现这些基本功能合一的轮子,至少开源的没有。而实际上我们很多项目开发时经常需要用到手机验证码功能。然而每次重复造轮子又觉得太繁琐且不容易集中控制。于是有了开发一个可复用轮子的想法。那么合计不到1500行Go代码实现这个可复用的手机验证码微服务何乐不为呢? 得益于Go语言的跨平台支持,SmsCode可安装在所有主流OS上(Linux,Mac OS X,FreeBSD,Windows,ARM等) 推荐Linux x64上安装SmsCode,编译安装请确保已经在OS上安装了Go的编译环境(GO 1.5+)。 请参考项目中的Dockerfi...阅读全文

GO 语言学习资料分享

链接:https://pan.baidu.com/s/1oauTymCxj-FzQp0331XY_w 提取码:l12h 链接:https://pan.baidu.com/s/1mRh6SqEXosK7BcBRaqn0nQ 提取码:yqib ![微信截图_20190416112716.png](https://static.studygolang.com/190416/e7f80c21f2cfab29a732e9d8dbd4a58f.png)![微信截图_20190416112726.png](https://static.studygolang.com/190416/036680a078f79723ec5e2c1d4fc33bce.png)![微信截图_201904161...阅读全文

golang web 自定义Handler时候静态资源问题

go 对静态文件的服务写法: http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) 自己玩的时候遇到的问题: 自定义Handler 实现serveHTTP() 方法来动态match路由 路由定义为:map[string]func(http.ResponseWriter, *http.Request) 路径match路由函数 静态文件的请求也会走自己实现的serveHTTP() 方法 会在map中匹配不到路由 导致静态文件(模板中js和css等)导入失败 后来自己看了看源码 找到一个low b的解决办法 在serveHTTP() 判断是否请求静态资源(规则自定义)调用...阅读全文

博文 2015-07-15 17:00:00 北京_

springboot(四)——@EnableConfigurationProperties是如何起作用的你知道吗

前言 用springboot开发的过程中,我们会用到@ConfigurationProperties注解,主要是用来把properties或者yml配置文件转化为bean来使用的,而@EnableConfigurationProperties注解的作用是@ConfigurationProperties注解生效。如果只配置@ConfigurationProperties注解,在IOC容器中是获取不到properties配置文件转化的bean的,当然在@ConfigurationProperties加入注解的类上加@Component也可以使交于springboot管理。 举个栗子 第一步:创建一个类TestConfigurationProperties @ConfigurationProper...阅读全文

博文 2019-04-25 16:34:50 stone想静静

GO语解惑:从源码分析GO程序的入口

起因 最近几天学完了GO语言,但是教材里给出的信息太少,不能满足需要。于是在网上看了许多博文,这就发现其中有许多冲突之处,使人越发迷惑。为了解惑,我深入分析了一下GO语言而小有心得,想把其中的一些分享给大家,希望能提高大家的学习效率。 GO语言的真正入口 GO语言的runtime.Caller方法会提供当前goroutine的栈上的函数调用信息,主要有当前的PC值和调用的文件和行号。若无法获得信息,第四个返回的值为false。当我们在main.main里使用这个函数(本函数为转载): func main() { for skip := 0; ; skip++ { pc, file, line, ok := runtime.Caller(skip) if !ok { break } fmt.P...阅读全文

博文 2014-10-25 09:32:33 sz_Promi

Golang 1.3 sync.Atomic源码解析

上一篇文章我们说到sync.Mutex的源码实现,核心就是使用到了CPU指令CAS,从并发性能上来说atomic的效率是要高于mutex的,毕竟mutex做了不少的其他步骤,而atomic的核心其实就是和处理器密切关系的,通过一两个指令就能完成的原子操作,我们接下来来看看atomic在golang中的一些细节。 通过目录: 64bit_arm.go asm_amd64p32.s asm_linux_arm.s atomic_test.go race.go asm_386.s asm_arm.s asm_netbsd_arm.s doc.go asm_amd64.s asm_freebsd_arm.s atomic_linux_arm_test.go export_linux_arm_test...阅读全文

博文 2014-10-19 09:03:49 毛, 剑