0

[系列] go-gin-api 路由中间件 - Jaeger 链路追踪(五)

概述 首先同步下项目概况: 上篇文章分享了,路由中间件 捕获异常,这篇文章咱们分享:路由中间件 Jaeger 链路追踪。 啥是链路追踪? 我理解链路追踪其实是为微服务架构提供服务的,当一个请求中,请求了多个服务单元,如果请求出现了错误或异常,很难去定位是哪个服务出了问题,这时就需要链路追踪。 咱们先 ...

新亮笔记 发布于 2019-09-16 12:47 评论(0)阅读(27)
1

[译] Go语言测试进阶版建议与技巧

阅读本篇文章前,你最好已经知道如何写基本的单元测试。本篇文章共包含3个小建议,以及7个小技巧。 建议一,不要使用框架 <! more Go语言自身已经有一个非常棒的测试框架,它允许你使用Go编写测试代码,不需要再额外学习其它的库或测试引擎。关于断言方面的帮助函数,你可以看看这个 "testing" ...

就想叫yoko 发布于 2019-09-15 17:21 评论(0)阅读(8)
0

Go语言【数据结构】切片

切片 简介 简单地说,切片就是一种简化版的动态数组。Go 数组的长度不可改变,而切片长度是不固定,切片的长度自然也就不能是类型的组成部分了。数组虽然有适用它们的地方,但是数组的类型和操作都不够灵活,因此在Go代码中数组使用的并不多。而切片则使用得相当广泛,理解切片的原理和用法是一个Go程序员的必备技 ...

Assassinの 发布于 2019-09-15 12:40 评论(0)阅读(9)
1

Go从入门到放弃

go、go、go,大宝贝,我们要go啦! 从go语言基础到go语言框架,全方面用轻松简洁的语言述说go语言的强大。 16年你错过了python,如今19年,你还想错过go吗??? ...

咸鱼Chen 发布于 2019-09-13 19:44 评论(2)阅读(142)
0

Golang读取并修改非主流配置文件

今天工作中碰到的问题,要求修改此配置文件,没看出来是什么格式,用了下面的思路: 用Go代码修改如上所示的配置文件,如 字段的值,步骤如下: 获取键 的值; 将`radius_db = "test13"`整体包装成字符串; 包装新字符串; 整体替换。 主要实现代码: Go // 根据路径获取文件 co ...

GaiheiluKamei 发布于 2019-09-12 18:15 评论(0)阅读(13)
0

[系列] go-gin-api 路由中间件 - 捕获异常(四)

[TOC] 概述 首先同步下项目概况: 上篇文章分享了,路由中间件 日志记录,这篇文章咱们分享:路由中间件 捕获异常。当系统发生异常时,提示 “系统异常,请联系管理员!”,同时并发送 panic 告警邮件。 什么是异常? 在 Go 中异常就是 panic,它是在程序运行的时候抛出的,当 panic ...

新亮笔记 发布于 2019-09-11 12:43 评论(2)阅读(110)
0

golang module 在 spacemcs 中的配置

概述 golang 官方的包管理从 1.11 版本就开始支持了, 之前尝试了几次, 效果都不理想, 就一直用 dep 来管理 package. 最近 1.13 版本发布了, 使用 go module 的官方管理方式越来越多, dep 也早就不在继续开发了. 鉴于此, 是时候把 golang 的包管理 ...

wang_yb 发布于 2019-09-11 12:02 评论(0)阅读(21)
0

Go语言【项目】 websocket消息服务

websocket消息服务 目的:搭建websocket服务,用浏览器与服务进行消息交互(写的第一个Go程序) 代码目录结构: 前端html页面: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <script> 6 wi ...

Assassinの 发布于 2019-09-06 20:52 评论(0)阅读(45)
0

[系列] go-gin-api 路由中间件 - 日志记录(三)

[TOC] 概述 首先同步下项目概况: 上篇文章分享了,规划项目目录和参数验证,其中参数验证使用的是 validator.v8 版本,现已更新到 validator.v9 版本,最新代码查看 github 即可。 这篇文章咱们分享:路由中间件 日志记录。 日志是特别重要的一个东西,方便我们对问题进行 ...

新亮笔记 发布于 2019-09-05 19:30 评论(0)阅读(37)
0

Golang解析、验证、修改URL之Host、Port、Path

Golang解析、验证、修改URL之Host、Port、Path ...

GaiheiluKamei 发布于 2019-09-05 19:04 评论(0)阅读(34)
0

golang 处理 json 结构体

首先 我们来看一下这个json 字串 go 内置了json字串的解析包 "encoding/json" 接下来 就需要对结构体的定义了。 按照json库的分析,其实每一个花括号就是一个结构体 那么拆解的结构体如下: 结构体的命名必须遵循第一个字母大写,否则json库会忽略掉该成员, 而后面的json ...

feiquan 发布于 2019-09-05 18:10 评论(0)阅读(32)
0

goroutine,channel

Go语言中有个概念叫做goroutine, 这类似我们熟知的线程,但是更轻。 以下的程序,我们串行地去执行两次loop函数: go package main import "fmt" func main() { loop() loop() } func loop() { for i := 0; i ...

itbsl 发布于 2019-09-03 23:24 评论(0)阅读(30)
0

Golang检测Linux服务器端口占用

代码实现 Go func CheckPort(port int) error { checkStatement := fmt.Sprintf( , port) output, err := exec.Command("sh", " c", checkStatement).CombinedOutput ...

GaiheiluKamei 发布于 2019-09-03 16:02 评论(0)阅读(45)
10

深度解密Go语言之 scheduler

[toc] 好久不见,你还好吗?距离上一篇文章已经过去了一个多月了,迟迟未更新文章,我也很着急啊。 跟大家汇报一下,这段时间我在看 的源码,其实就是调度器的源码。代码有几千行之多,不像以往的 map,channel 等等。想把这些代码都看明白,是一个庞大的工程。到今天为止,我也不敢说我都看明白了。 ...

Stefno 发布于 2019-09-02 19:16 评论(6)阅读(1558)
0

golang微服务框架go-micro 入门笔记2.4 go-micro service解读

本章节阐述go micro 服务发现原理 go micro架构 下图来自go micro官方 阅读本文前你可能需要进行如下知识储备 + "golang分布式微服务框架go micro 入门笔记1:搭建go micro环境," + "golang微服务框架go micro 入门笔记2.1 micro工 ...

winlion 发布于 2019-09-01 14:45 评论(0)阅读(56)
0

Go 面试每天一篇(第 2 天)

下面这段代码输出什么,说明原因。 参考答案: 解析:这是新手常会犯的错误写法,for range 循环的时候会 创建每个元素的副本,而不是元素的引用 ,所以 m[key] = &val 取的都是变量 val 的地址,所以最后 map 中的所有元素的值都是变量 val 的地址,因为最后 val 被赋值 ...

Seekload 发布于 2019-08-31 19:21 评论(0)阅读(64)
0

解决vscode中golang插件依赖安装失败问题

vscode中安装ms-vscode.go插件后可以开启对go语言的支持,ms-vscode.go插件需要依赖一些工具,安装完成后提示 gocode go-outline go-symbols guru gorename gocode-gomod goreturns golint Installin ...

feiquan 发布于 2019-08-30 10:13 评论(0)阅读(37)
0

GO 使用 动态链接库(共享链接库)进行编译 生成动态链接可执行文件

我们使用 go help buildmode 可以看到 go 可以以多种方式进行构建,默认使用静态链接库. ➜ src go help buildmode The 'go build' and 'go install' commands take a -buildmode argument whic ...

xuyaowen 发布于 2019-08-29 17:36 评论(0)阅读(63)
0

GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造

go build 和 go install 都需要使用源码来进行编译。但是有时候我们只有.a或者.so文件。并不能获取到第三方库的源码,这时我们需要静态链接库编译的技巧; 上图是实验前的文件分布。 使用静态链接库编译命令: 实验后文件分布: 由图中我们可以看到,可执行文件生成。 资源来源自网络,如果 ...

xuyaowen 发布于 2019-08-29 16:04 评论(0)阅读(29)
0

(转)go新建文件权限与设置不符

原文:https://blog.csdn.net/lipengfeihb/article/details/54415283 一. 问题 上述代码是打开一个文件,如果文件不存在则创建一个新文件,同时权限设置为0666(-rw-rw-rw-),但实际生成的文件权限可能与你认为的不一致: 这个跟umask ...

feiquan 发布于 2019-08-29 12:39 评论(0)阅读(20)