如果你看一下 新的 Datadog Agent,你可能会注意到大部分代码库是用 Go 编写的,尽管我们用来收集指标的检查仍然是用 Python 编写的。这大概是因为 Datadog Agent 是一个 嵌入了 CPython 解释器的普通 Go 二进制文件,可以在任何时候按需执行 Python 代码。这个过程通过抽象层来透明化, ......
373
0
0
2022-04-14
介绍Golang 学习开始!目标:编写一个golang web项目 goblog以下博文需要你懂一些基本的编程知识 如:对象 if switch 变量….以下博文都是为了这个目标而编写….Golang 创建一个简单的web程序注意:golang程序中只能使用 “”双引号使用golang基本库fmt net/httpimport ("fmt""net/http ......
510
0
0
2022-04-14
知识点1、中间件func forceHTMLMiddleware(next http.Handler) http.Handler {return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {// todo something // 继续处理请求 ......
373
0
0
2022-04-14
知识点1. 标准库路由 http.ServeMux 的用法解析采用的是 长度优先匹配 规则2. 路由包 gorilla/mux 的使用解析采用的是 精准匹配 规则//基本用法 router := mux.NewRouter() //路径+路径参数+请求方式+别名 router.HandleFunc("/articles/{id:[0-9]+}",art ......
359
0
0
2022-04-14
golang日期字符串与时间戳转换//获取本地location toBeCharge := "2015-01-01 00:00:00" //待转化为时间戳的字符串 注意 这里的小时和分钟还要秒必须写 因为是跟着模板走的 修改模板的话也可以不写 timeLayout := "2006- ......
357
0
0
2022-04-14
Go操作MySQL安装: go get -u github.com/go-sql-driver/mysqlGO语言的操作数据库的驱动原生支持连接池, 并且是并发安全的 标准库没有具体的实现 只是列出了一些需要的第三方库实现的具体内容//第一次连接MySQL成功 package main import ("database/sql"_ "github. ......
336
0
0
2022-04-14
知识点标准库 net/http 的基本使用fmt.Fprint 函数会将内容输出到实现了 io.Writer 接口类型的变量,http.ResponseWriter 已经实现了 io.Writer 接口 ,所以可实现将字符串输出air热重载go mod代码包管理遇到问题air 启动,提示 mod 问题解决:使用go mod init 命令生成go.modGO ......
354
0
0
2022-04-13
超超和面试官聊完了进程到协程发展史之后,面试官似乎想在GMP模型上对超超“痛下杀手”,下面来看超超能不能接住面试官的大杀器吧!GM模型面试官:你知道GMP之前用的是GM模型吗?超超:这个我知道,在12年的go1.1版本之前用的都是GM模型,但是由于GM模型性能不好,饱受用户诟病。之后官方对调度器进行了改进,变成了我们现在用的GMP模型。面试官:那你能给我说说 ......
398
0
0
2022-04-13
[TOC]golang如何使用原生RPC及微服务简述微服务1. 微服务是什么使用一套小服务来开发单个应用的方式,每个服务运行在独立的进程里,一般采用轻量级的通讯机制互联,并且它们可以通过自动化的方式部署微服务是设计思想,不是量的体现专一的功能代码量并不少架构变复杂2. 特点是啥专一的职责,例如专注于权限管理轻量级的通信,通信与平台和语言无关,例如http是轻 ......
362
0
0
2022-04-13
你在使用消息队列的时候关注过吞吐量吗?思考过吞吐量的影响因素吗?考虑过怎么提高吗?总结过最佳实践吗?本文带你一起探讨下消息队列消费端高吞吐的 Go 框架实现。Let’s go!关于吞吐量的一些思考写入消息队列吞吐量取决于以下两个方面网络带宽消息队列(比如Kafka)写入速度最佳吞吐量是让其中之一打满,而一般情况下内网带宽都会非常高,不太可能被打满,所以自然就 ......
294
0
0
2022-04-13
strings.Splitpackage main import ("fmt""strings") func main() { str := "赵,钱,孙,李,赵" //字符串分割, 使用字符分割 str1 := strings.Split(str, ",") fmt.Println(str1[0]) ......
472
0
0
2022-04-13
问题:在使用interface表示任何类型时,如果要将interface转为某一类型,直接强制转换是不行的,例如:var t interface{} = "abc" s := string(t) cannot convert t(type interface {}) to type string: need type assertion 这样是不行 ......
398
0
0
2022-04-12
http client重要结构1.Request, 保存http request数据的结构,包括header,body信息2.Client, 保存Transport,cokie信息3.Transport,管理一个连接池client.gofunc main() {//自定义request request, err := http.NewRequest ......
432
0
0
2022-04-12
引言要说Golang中最引以为傲的特性,那非goroutine莫属,goroutine(协程)很轻量,相比于每个线程要使用1MB的内存,每个go协程只需要1kb左右就够了。于是,在需要做并发处理的时候,很自然的就想着,go一下就好了吗? 示例代码如下 for i:=0; i < 5; i++ {go func(index int) { ......
332
0
0
2022-04-11
走出舒适区,我了解了 Go 的交叉编译功能。在 Linux 上测试软件时,我使用各种架构的服务器,例如 Intel、AMD、Arm 等。当我 分配了一台满足我的测试需求的 Linux 机器,我仍然需要执行许多步骤:下载并安装必备软件验证构建服务器上是否有新的测试软件包获取并设置依赖软件包所需的 yum 仓库下载并安装新的测试软件包(基于步骤 2)获 ......
388
0
0
2022-04-11