2

Golang error 的突围

Golang 的错误处理一直广受诟病,其实它有自身的优势,并且一直在进步。 ...

Stefno 发布于 2019-09-18 08:15 评论(1)阅读(133)
0

Go Modules使用教程

Go Modules 不完全教程 文章转载自公众号 Golang 成神之路 , 作者 L Go Modules 是 Golang 官方最近几个版本推出的原生的包管理方式,在此之前,社区也不乏多种包管理方案。在讨论 Go Modules 之前,我们先回顾一下 Golang 的包管理历史的发展。然后讨论 ...

快乐地编程 发布于 2019-09-17 22:53 评论(0)阅读(10)
0

Golang 调用 C/C++,例子式教程

大部分人学习或者使用某样东西,喜欢在直观上看到动手后的结果,才会有继续下去的兴趣。 前言: Golang 调用 C/C++ 的教程网上很多,就我目前所看到的,个人见解就是比较乱,坑也很多。希望本文能在一定程度上,做到更通俗明了。 下面 golang 简称 go , 一如既往,少说废话,我们现在开始。 ...

造飞机的程序员 发布于 2019-09-17 15:32 评论(0)阅读(10)
0

GO 全面解析 json tag 篇

在处理json格式字符串的时候,经常会看到声明struct结构的时候,属性的右侧还有反引号括起来的内容。形如: struct成员变量标签(Tag)说明 要比较详细的了解这个,要先了解一下golang的基础,在golang中,命名都是推荐都是用驼峰方式,并且在首字母大小写有特殊的语法含义:包外无法引用 ...

路人Q 发布于 2019-09-17 13:47 评论(0)阅读(23)
0

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

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

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

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

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

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

Go语言【数据结构】切片

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

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

Go从入门到放弃

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

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

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

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

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

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

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

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

golang module 在 spacemcs 中的配置

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

wang_yb 发布于 2019-09-11 12:02 评论(0)阅读(25)
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)阅读(50)
0

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

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

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

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

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

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

golang 处理 json 结构体

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

feiquan 发布于 2019-09-05 18:10 评论(0)阅读(38)
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)阅读(31)
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)阅读(51)
10

深度解密Go语言之 scheduler

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

Stefno 发布于 2019-09-02 19:16 评论(6)阅读(1583)
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)阅读(63)
0

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

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

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