包含标签 golang 的文章

有赞云GoLang版SDK 非官方

前段时间看了些GoLang的资料,要上手熟悉就得造轮子,so.. 造了个GoLang版本的有赞云SDK。 Talk is cheap. Show me the code… GitHub: https://github.com/xu42/youzan-sdk-go GoDoc: https://godoc.org/github.com/xu42/youzan-sdk-go GoLang写出来确实简洁,总共也没多少行代码… 使用 这里仅举例获取Token和调用示例API 生成Token package main import ( "fmt" "github.com/xu42/youzan-sdk-go" ) func main() { // 获取自用型AccessToken resp, err := youzan.GenSelfToken("CLIENT_ID", "CLIENT_SECRET", "110") fmt.Println(resp, resp.AccessToken, err) // 获取自用型AccessToken resp1, err1 := youzan.GenToolToken("CLIENT_ID", "CLIENT_SECRET", "CODE", "URI") fmt.Println(resp1, resp1.AccessToken, err1) } 调用API package main import ( "fmt" "github.com/xu42/youzan-sdk-go" ) func main() { params := map[string]string{ "page_no": "1", "page_size": "10", } result, err := youzan.……

阅读全文

Go couldn't start listener listen tcp lookup localhost no such host

使用GoLang进行debug时, 报了这么个错couldn't start listener: listen tcp: lookup localhost: no such host 其实很简单,是因为本地的hosts文件少配置了127.0.0.1 localhost 为什么少了这行配置?可能是其他开发时切换了hosts配置而刚好那个配置没有加这一行 添加这一行后如果没有生效,记得清一下缓存 (hugo的文章标题竟然不能带标点符号:…) End………

阅读全文

Go vet composite literal uses unkeyed fields

在使用go vet进行语法检查时, 报了这么个错composite literal uses unkeyed fields 对于刚开始看Golang的我一脸懵逼, 明明是可以编译通过且跑通的… struct 是这样定义的 type CallRequest struct { AccessToken string APIName string APIVersion string APIParams map[string]string } 代码里是这样用的 // ... 省略 ... request := CallRequest{accessToken, apiName, apiVersion, params} 然后 go vet ./... 就报错了... composite literal uses unkeyed fields 看了些资料后知道了, 这样写更严谨一些: request := CallRequest{AccessToken: accessToken, APIName: apiName, APIVersion: apiVersion, APIParams: params} End………

阅读全文

Travis 持续集成 GoLang 工程, 配置 踩坑记录

最近看了一些GoLang方面的文章,平时用来写一些脚本还是比较不错的。尤其是其可编译为二进制单一文件跨平台运行的特性,实在是让人喜爱。就我个人来说,解决了给没有计算机编程基础的人的环境下跑脚本要安装一堆环境/依赖的痛点。travis作为优秀的持续集成服务,其诸多的特性也值得尝试一下,与GitHub进行完美的结合,支持打包部署到项目release,当然travis的特性并不只有这些。 Travis-ci 首先,需要注册一下 Travis-ci ,直接使用GitHub授权登陆即可。 授权之后会要求进行同步GitHub项目,对需要使用Travis服务的勾选即可,Travis会自动给勾选的项目添加一个钩子,每当push代码就会触发Travis测试任务。当然,也可以手动到Travis进行手动触发(Trigger build),且可直接指定某一个commit触发。 ⚠️踩坑记录 Travis-ci.org是只支持public repo的,如果有private的需求的,可以到Travis-ci.com 如果有repo没有显示出来,可以在Travis的profile页面执行Sync account 如果是所属的组织没有显示出来,可以点击Review and add 进行授权同步。 .travis.yml .travis.yml文件是Travis服务读取项目配置的文件,支持多种语言,这里是GoLang的参考配置,支持上面介绍的打包部署。配置项这里不细讲,网上有很多介绍的文章。 可以在Job log控制台看到执行情况。 ⚠️踩坑记录 Travis打包部署到GitHub需要授权,可以通过Token的形式进行授权,这需要在.travis.yml配置文件的deploy块的 api_key 进行说明,然后需要在 Github Token 页生成一个包含repo权限的Token,然后在Travis项目的设置页面Environment Variables新增一条配置: Name为你在api_key处声明的变量,Value为生成的Token. 参考 https://docs.travis-ci.com/user/deployment/releases/ https://github.com/GameXG/TcpRoute2/blob/master/.travis.yml ……

阅读全文