经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 Go语言

GO 全面解析 json tag 篇

在处理json格式字符串的时候,经常会看到声明struct结构的时候,属性的右侧还有反引号括起来的内容。形如: 1 type User struct { 2 UserId int `json:"user_id" bson:"user_id"` 3 U...[2019/9/18]

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

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

Go Modules使用教程

Go Modules使用教程

Go Modules 不完全教程 文章转载自公众号 Golang 成神之路 , 作者 L Go Modules 是 Golang 官方最近几个版本推出的原生的包管理方式,在此之前,社区也不乏多种包管理方案。在讨论 Go Modules 之...[2019/9/18]

Golang error 的突围

目录 error 的困局 尝试破局 Errors are just values handle not just check errors Only handle err...[2019/9/18]

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

目录 概述 如何设计日志记录? 开源工具 Jaeger 架构图 Jaeger Span Jaeger 部署 Jaeger 端口 ...[2019/9/17]

Go 防止 goroutine 泄露的方法

Go 防止 goroutine 泄露的方法

概述 Go 的并发模型与其他语言不同,虽说它简化了并发程序的开发难度,但如果不了解使用方法,常常会遇到 goroutine 泄露的问题。虽然 goroutine 是轻量级的线程,占用资源很少,但如果一直得不到释放并且还在不断创建新协程,毫无疑问是有问题的,并且是要在程序运行几天,甚至更长的时间...[2019/9/17]

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

今天工作中碰到的问题,要求修改此配置文件,没看出来是什么格式,用了下面的思路: mysql { # If any of the files below are set, TLS encryption is enabled ...[2019/9/16]

Go从入门到放弃

Go从入门到放弃

第1篇 Go语言介绍 001 为什么你应该学习Go语言? 第2篇 开发环境准备 002 从零开始搭建Go语言开发环境 003 VS Code配置Go语言开发环境 第3篇 Go语言基础 004 Go语言基础之变量和常量 005 Go语言基础之基本数据类型 006 Go语言基...[2019/9/16]

Go语言【数据结构】切片

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

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

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

golang module 在 spacemcs 中的配置

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

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

目录 概述 什么是异常? 怎么捕获异常? 封装发邮件方法 自定义邮件模板 封装一个中间件 备注 源码地址 ...[2019/9/12]

深度解密Go语言之 scheduler

目录 前置知识 os scheduler 线程切换 函数调用过程分析 goroutine 是怎么工作的 什么是 goroutine ...[2019/9/10]

Golang检测Linux服务器端口占用

代码实现 func CheckPort(port int) error { checkStatement := fmt.Sprintf(`netstat -anp | grep -q %d ; echo $?`, port) output, err := exec.C...[2019/9/10]

goroutine,channel

goroutine,channel

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

golang json 成结构体

首先 我们来看一下这个json 字串 { "resp": { "respCode": "000000", "respMsg": "成功", "app": { "appId": "xxxxxx...[2019/9/10]

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

URL解析验证问题 net.ParseIP()只能解析不带冒号以及端口号的IP4/IP6 ?: 127.0.0.1、2001:db8::68 ?: 127.0.0.1:8080、www.baidu.com url.Parse()最好只用来解析标准URL,不能用来验证URL的正确性 ...[2019/9/10]

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

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

目录 概述 gin.Logger() 自定义 Logger() 源码地址 go-gin-api 系列文章 概述 首先同步下项目概况: ...[2019/9/10]

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

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

websocket消息服务   目的:搭建websocket服务,用浏览器与服务进行消息交互(写的第一个Go程序)   代码目录结构:   前端html页面: 1 <!DOCTYPE html> 2 ...[2019/9/10]

go-web程序的热更新

前言: 一直编译累死人啊,该偷懒就得偷懒 当使用go开发web程序时,修改点代码就得编译,虽然编译速度很快,但是也累啊,想起java的spring-boot有热更新插件, php根本都不需要重启,go怎么可以落后。 一顿搜索后,找到了gin和fresh,都挺好用的 gin cd p...[2019/9/10]

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

下面这段代码输出什么,说明原因。 func main() { slice := []int{0,1,2,3} m := make(map[int]*int) for key,val := range slice { m[key] = &...[2019/9/2]

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 micr...[2019/9/2]

Knative Serving 进阶: Knative Serving SDK 开发实践

Knative Serving 进阶: Knative Serving SDK 开发实践

  作者 | 阿里云智能事业群技术专家 牛秋霖(冬岛)   导读:通过前面的一系列文章你已经知道如何基于 kubectl 来操作 Knative 的各种资源。但是如果想要在项目中集成 Knative 仅仅使用 kubectl 这种命...[2019/9/2]

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

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

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

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

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

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

原文:https: blog.csdn.net/lipengfeihb/article/detail 54415283 一. 问题 fileName := "/User my/test perm_file" f, _ := os.OpenFile(fileName, os....[2019/8/30]

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

go build 和 go install 都需要使用源码来进行编译。但是有时候我们只有.a或者.so文件。并不能获取到第三方库的源码,这时我们需要静态链接库编译的技巧; 上图是实验前的文件分布。 使用静态链接库编译命令: ? src go tool compil...[2019/8/30]

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

我们使用 go help buildmode 可以看到 go 可以以多种方式进行构建,默认使用静态链接库. ? src go help buildmode The ''go build'' and ''go install'' commands take a -build...[2019/8/30]

Golang实现单机百万长连接服务

Golang实现单机百万长连接服务

美图长连接服务历时三年,在内存优化上积累比较丰富的实践经验,本文将会介绍我们团队这些年在内存优化道路上做的一些尝试。[2019/8/29]

[系列] go-gin-api 规划目录和参数验证(二)

[系列] go-gin-api 规划目录和参数验证(二)

目录 概述 规划目录结构 模型绑定和验证 自定义验证器 制定 API 返回结构 源码地址 go-gin-api 系列文章 ...[2019/8/29]

windows下的go get 显示进度

我的Go版本是:go1.12.7 1.在你的Go安装目录下找到 D:\Go\src\github.com\tools\godep\vendor\golang.org\x\tools\go\vcs\vsc.go 2.编辑Git命令让其显示进度 CreateCmd...[2019/8/29]

为什么 Go 标准库中有些函数只有签名,没有函数体?

如果你看过 Go 语言标准库,应该有见到过,有一些函数只有签名,没有函数体。你有没有感觉到很奇怪?这到底是怎么回事?我们自己可以这么做吗?本文就来解密它。 首先,函数肯定得有实现,没有函数体,一定是在其他某个地方。Go 中一般有两种形式。 函数签名使用Go,然后通过该包中的汇编文件来实...[2019/8/27]

prisma反向代理

prisma反向代理

概要 为什么要做 prisma 的反向代理 反向代理示例(by golang) prisma 服务 gateway 服务 整体流程 认证 反向代理 权限 总结 概要 接触 prisma 有段时间了, 期间也使用过其他几种 graphql 接口自动生成的框架. 总的来说, 还是...[2019/8/27]

通过 Channel 实现 Goroutine Pool

通过 Channel 实现 Goroutine Pool

最近用到了 Go 从 Excel 导数据到服务器内部 用的是 http 请求 但是发现一个问题 从文件读取之后 新开 Goroutine 会无限制新增 导致全部卡在初始化请求 于是乎就卡死了 问题模拟 模拟代码 func main() { pool := sync.Wait...[2019/8/27]

[系列] 使用 go modules 包管理工具(一)

目录 概述 初始化 添加依赖包 go mod 命令 小结 源码地址 概述 我想实现一个开箱即用的 API 框架的轮子,这个...[2019/8/27]

go-micro 入门教程1.搭建 go-micro环境

微服务的本质是让专业的人做专业的事情,做出更好的东西。 golang具备高并发,静态编译等特性,在性能、安全等方面具备非常大的优势。go-micro是基于golang的微服务编程框架,go-micro操作简单、编码高效、功能强大。但是网络上资料偏少,本系列文章定位最简单最容易上手的...[2019/8/23]

扫小程序码实现网站登陆,提供源代码

扫小程序码实现网站登陆,提供源代码

使用扫小程序码登陆网站 网络上关于实现本本功能的文章很多,但是给出案列的几乎没有,今天笔者实现用小程序码实现网站登陆,体验地址如下 https: idea.techidea8.com/open/login.shtml 思路 关键流程 建立场景sceneid和websocket的绑定关...[2019/8/23]

一个简单的Golang实现的HTTP Proxy方法

最近因为换了Mac,以前的Linux基本上不再使用了,但是我的SS代理还得用。SS代理大家都了解,一个很NB的socks代理工具,但是就是因为他是Socks的,想用HTTP代理的时候很不方便。 以前在Linux下的时候,会安装一个Privoxy把socks代理转换为HTTP代理,开机启动,也比...[2019/8/23]

golang 实现tcp转发代理的方法

我就废话不多说了,直接上代码吧: package main import ( "flag" "fmt" "io" "net" "os" "strings" "sync" ) var lock sync.Mutex var trueList...[2019/8/23]

Go语言多人聊天室项目实战

本文为大家分享了Go语言多人聊天室项目实战,供大家参考,具体内容如下 功能需求 实现单撩 实现群撩 实现用户上线的全网通知 实现用户昵称 实现聊天日志的存储和查看 服务端实现 type Client struct { conn ...[2019/8/21]

Go语言(一) 环境的搭建

Go语言(一) 环境的搭建

一步一步,从零搭建Go语言开发环境。 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https: golang.org/dl/ Go官方镜像站(推荐):https: golang.google.cn/dl/ 版本的选择 Windows平台和Ma...[2019/8/20]

GO指南练习:切片

最近开始GO语言的学习,在GO指南中练习到切片这个题目 练习:切片 实现 Pic。它应当返回一个长度为 dy 的切片,其中每个元素是一个长度为 dx,元素类型为 uint8 的切片。当你运行此程序时,它会将每个整数解释为灰度值(好吧,其实是蓝度值)并显示它所对应的图像。 ...[2019/8/19]

GO的并发之道-Goroutine调度原理&Channel详解

并发(并行),一直以来都是一个编程语言里的核心主题之一,也是被开发者关注最多的话题;Go语言作为一个出道以来就自带 『高并发』光环的富二代编程语言,它的并发(并行)编程肯定是值得开发者去探究的,而Go语言中的并发(并行)编程是经由goroutine实现的,goroutine是golan...[2019/8/19]

Go 关键字Select

select select 是Go语言中常用的一个关键字,Linux再也早也引入了这个函数,用来实现非阻塞的一种方式,一个select语句用来选择哪个case中的发送或接收操作可以被立即执行。它类似于switch语句,但是它的case涉及到channel有关的I/O操作。 select...[2019/8/19]

GO学习笔记 - 模版渲染及多种输出

本文主题:基于内置的text/template实现Golang模版渲染,并将结果写入文件、屏幕、变量。 小慢哥的原创文章,欢迎转载 目录 ? 定义结构体 ? 定义模版文本 ? 模版渲染及输出方式 ? 完整例子 定义结构体 首先,定义一个结构体,用于后面的模版渲染 type...[2019/8/19]

gRPC-拦截器简单使用

gRPC-拦截器简单使用

概述 gRPC作为通用RPC框架,内置了拦截器功能。包括服务器端的拦截器和客户端拦截器,使用上大同小异。主要作用是在rpc调用的前后进行额外处理。 从客户端角度讲,可以在请求发起前,截取到请求参数并修改;也可以修改服务器的响应参数。 示例 以下写一个简单的示例来描述具体的功能实现。以...[2019/8/16]

golang 中获取字符串个数的方法

golang 中获取字符串个数的方法

在 golang 中不能直接用 len 函数来统计字符串长度,查看了下源码发现字符串是以 UTF-8 为格式存储的,说明 len 函数是取得包含 byte 的个数 string is the set of all strings of 8-bit bytes, convention...[2019/8/15]

golang常用的http请求操作

之前用python写各种网络请求的时候写的非常顺手,但是当打算用golang写的时候才发现相对来说还是python的那种方式用的更加顺手,习惯golang的用法之后也就差别不大了,下面主要整理了常用的通过golang发起的GET请求以及POST请求的代码例子 golang发起GET请求 基本的...[2019/8/15]

go golang 笔试题 面试题 笔试 面试 - 雄霸天下-无人能挡

文章转载自:http: www.pythonheidong.com/blog/article/2143/ go golang 笔试题 面试题 笔试 面试 发现go的笔试题目和面试题目还都是比较少的,于是乎就打算最近总结一下。虽然都不难,但是如果没有准备猛地遇到了还是挺容易踩坑的。 就是几个简...[2019/8/15]

Mac下搭建go和beego开发环境

Mac下搭建go和beego开发环境

 go安装 首先到golang的官网下载  直接双击安装包,安装 ,下一步,下一步。。。。完成既可   验证安装是否成功     打开终端执行    输出 go version go1.11.5 darwin/...[2019/8/15]

347
2
记录数:487 页数:1/1012345678910下一页尾页
加载更多