追风大虾go

doublesouth's blog


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

编译micro一波三折

发表于 2019-07-12 | 分类于 go-micro
字数统计: 1,775 | 阅读时长 ≈ 9

背景

由于本机上micro版本较低,其实本机版本是0.13.0,然后用这个版本命令行调用远程rpc一直报:

1
2
3
4
5
6
{
"id": "go.micro.client.codec",
"code": 500,
"detail": "json: cannot unmarshal string into Go struct field clientResponse.id of type uint64",
"status": "Internal Server Error"
}

故需要升级本机micro版本。

升级版本: 1.5.0

阅读全文 »

go-module初试

发表于 2019-04-30 | 分类于 golang
字数统计: 354 | 阅读时长 ≈ 1

go module

go module 是go官方提供的包管理工具,相比glide,dep这些包管理工具,go mod还是比较新的,目前还没有被大范围使用。本人比较喜欢尝鲜,已经在项目中尝试使用了,期间也遇到一些坑,不过目前使用下来也基本没有什么问题,下面就把使用过程和大家分享一下吧!

运行目录对比

  • 不使用mod
    • 只能运行在go path下面
  • 使用mod
    • 可运行在任何目录,不依赖go path
    • 如果要在go path下运行需配置GO111MODULE=on环境变量

几个关键命令

  • go mod init
    • initialize new module in current directory
  • go mod tidy
    • add missing and remove unused modules
  • go mod vendor
    • make vendored copy of dependencies

翻译一下:

go mod init 用来将当前目录初始化成 go mod 管理的目录
go mod tidy 用来更新项目中的依赖
go mod vendor 用来将项目中的依赖包全部copy到vendor目录下,方便项目在其他没有 go mod 的环境上编译

几个坑的地方

  • 运行 go mod init 会报 go: cannot determine module path for source directory,需要在main.go中声明导入的依赖
  • 本地包依赖方式,在go.mod文件中添加如下配置:
1
2
3
4
replace com.test.a => ../a
其中 com.test.a 为项目中使用的包名
../a 为该包在当前机器代码的相对路径

如何使用golang操作mongo

发表于 2019-01-28 | 分类于 mongo
字数统计: 1,078 | 阅读时长 ≈ 5
  • mongo介绍
    • 特性
    • 分片集群四个组件
    • 问题总结
  • Official Go Driver
    • 代码示例
  • 参考链接
阅读全文 »

go-micro学习笔记

发表于 2019-01-06 | 分类于 go-micro
字数统计: 2,022 | 阅读时长 ≈ 10
  • 特性
  • micro toolkit
    • 问题
    • 使用
  • 如何使用
    • 安装服务注册发现中心
    • 服务端
    • 客户端
  • 踩过的坑
  • 参考文档
阅读全文 »

glide踩坑记

发表于 2018-12-10 | 分类于 golang
字数统计: 328 | 阅读时长 ≈ 2
  • 坑位

glide 我就不做过多介绍了,它是golang的包管理工具之一,由于该工具github上面不在维护,官方也推荐使用dep,所以之前也使用过dep,但是由于 dep 一直拉取不了 golang.org/x 相关依赖,无奈只能又切回 glide。

阅读全文 »

goland debug 报 include nested too deeply 问题排查

发表于 2018-11-29 | 分类于 golang , goland
字数统计: 2,554 | 阅读时长 ≈ 15

环境说明

系统:MacOS10.14.1
goland版本:2018.2.2
golang版本:go1.11.2 darwin/amd64

阅读全文 »

使用feign上传下载文件扩展包填坑记

发表于 2018-04-04 | 分类于 feign
字数统计: 1,140 | 阅读时长 ≈ 5

问题描述

先把有坑的代码贴上:

1
2
3
4
5
6
7
8
9
10
//...上下文我就省略了,把有问题的代码段贴出来
InputStream inputStream = null;
inputStream = fresp.body().asInputStream();
FileTypeJudger.FileInfo fileInfo = fileTypeJudger.judgeToFileInfo(inputStream);
mimeType = fileInfo.getMimeType();
// 必须将游标设置到起始位置,才能输出完整的文件流
inputStream.reset(); //这里就是有坑的地方
//...

阅读全文 »

八大排序算法的java实现

发表于 2017-02-17 | 分类于 算法
字数统计: 2,060 | 阅读时长 ≈ 9

每当提到算法,自然少不了各种排序算法,例如冒泡排序,快速排序等等。这篇文章将会介绍用java来实现各种排序算法,一来是自己再巩固一下这一块知识的,二来是将这块知识分享给大家,希望大家和我一起进步。

阅读全文 »

我的第一篇博客从使用Hexo搭建博客开始

发表于 2017-02-04 | 分类于 博客
字数统计: 794 | 阅读时长 ≈ 3

Hexo是一款快速、简洁且高效的博客框架,用它来搭建自己的个人博客是一个不错的选择。这篇文章主要介绍我是如何使用该框架来搭建自己的个人博客。

阅读全文 »
doublesouth

doublesouth

人要活得有规律,有效率。

9 日志
7 分类
11 标签
RSS
GitHub E-Mail 微博 知乎
© 2017 — 2019 doublesouth | Site words total count: 12.1k
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4