Golang InfluxDB 基础操作

InfluxDB基础操作 基础操作 连接 [root@localhost ~]# influx -precision rfc3339 Connected to http://localhost:8086 version 1.8.0 InfluxDB shell version: 1.8.0 > precision参数表明了任何返回的时间戳的格式和精度,在上面的例子里,rfc3339是让InfluxDB返回RFC339格式(YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ)的时间戳。 ...阅读全文

简书 2021-04-14 16:33:37 我是不会赢的

windows+notepad++/centos系统go环境配置

go是一种开源编译型编程语言,源码和运行环境下载地址:https://golang.org/dl/,本文档选用go的版本为 1.10 一 windows 7 1.1 安装notepad++ 1.2 下载安装 go1.10,下载地址:https://golang.org/dl/go1.10.windows-amd64.msi,安装完成后,确认安装路径加入到系统路径中。 2021-04-14_1_PATH环境变量中包含go安装路径.png 1.3 打开notepad++,菜单 插件 -- 插件管理....阅读全文

简书 2021-04-14 16:33:36 sunday_pp

golang的zap日志库的简单封装

项目的需要,对zap日志库做了简单的封装,主要是支持如下的功能: 1、支持同步和异步的方式。 2、支持根据不同的日志级别调用不同的writer处理. 对外的简单接口如下 type ZapLogOper interface { Debug(msg string, fields ...zap.Field) Info(msg string, fields ...zap.Field) Warn(msg string, fields ...zap.Field) Error(ms...阅读全文

Go语言中文网 2021-04-14 15:44:54 mediaufo

GO 语言常用排序

1. 冒泡排序(bubble sort)的基本思想:比较相邻两个 元素的关键字值,如果反序,则交换func BubbleSort(arr []int) { flag := false //外层控制行 for i := 0; i < len(arr)-1; i++ { //内层控制列 for j := 0; j < len(arr)-1-i; j++ { //比较两个相邻元素 if arr[j] > arr[j+1] { //交换数据 arr[j], arr[j+1] = arr[j+1], ar...阅读全文

51CTO博客 2021-04-14 13:29:13 独孤一笑

golang内存分配

Go语言内置运行时(就是runtime),不同于传统的内存分配方式,go为自主管理,最开始是基于tcmalloc架构,后面逐步迭新。自主管理可实现更好的内存使用模式,如内存池、预分配等,从而避免了系统调用所带来的性能问题。1. 基本策略每次从操作系统申请一大块内存,然后将其按特定大小分成小块,构成链表(组织方式是一个单链表数组,数组的每个元素是一个单链表,链表中的每个元素具有相同的大小。);为对象分配内存时从大小合适的链表提取一小块,避免每次都向操作系统申请内存,减少系统调用。回收对象内存时将该...阅读全文

51CTO博客 2021-04-14 13:21:00 独孤一笑

清晰架构(Clean Architecture)的Go微服务: 程序设计

我使用Go和gRPC创建了一个微服务,并将程序设计和编程的最佳实践应用于该项目。 我写了一系列关于在项目工作中做出的设计决策和取舍的文章,此篇是关于程序设计。程序的设计遵循清晰架构(Clean Architecture)¹。 业务逻辑代码分三层:用例(usecase),域模型(model)和数据服务(dataservice)。有三个顶级包“usecase”,“model”和“dataservice”,每层一个。 在每个顶级包(模型除外)中只有一个以该包命名的文件。 该文件为每个包定义了外部世界的...阅读全文

51CTO博客 2021-04-14 12:33:49 独孤一笑

client-go获取k8s集群内部连接,实现deployment的增删改查

一开始写了一个client-java版本的,但是java放在k8s集群上跑需要装jvm而且java的包比较大,client-go版本更适合主机端,下面是整个实现说明:k8s官方维护的客户端库只有go和python版本,所以为了稳定性建议使用这两个版本,考虑到k8s是go实现的,我这里也就选择go版本。至于客户端连接k8s集群,在具体的生产环境中不建议外部连接访问。原因一是生产环境中的k8s配置文件重要,一般如果对接其他公司的业务,虽然有鉴权,人家也不愿意把配置文件拷贝给你,因为有了集群的配置文件...阅读全文

51CTO博客 2021-04-14 12:27:40 独孤一笑

Go 开发关键技术指南 | Go 面向失败编程 (内含超全知识大图)

关注“阿里巴巴云原生”公众号,回复 Go 即可查看清晰知识大图!导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文章,本文为第 2 篇。Could Not Recover在 C/C++ 中,最苦恼的莫过于上线后发现有野指针或内存越界,导致不可能崩溃的地方崩溃;最无语的是因为很早写的日志打印,比如 %s 把整数当字符串,突然某天执行到了...阅读全文

51CTO博客 2021-04-14 11:54:57 独孤一笑

Go语言学习10-指针类型

3.Go语言数据类型 书接上篇,我们了解了Go语言的 结构体类型,本篇介绍Go语言的指针类型。主要如下: 3.8 指针 指针是一个代表着某个内存地址的值。这个内存地址往往是在内存中存储的另一个变量的值的起始位置。Go语言既没有像Java语言那样取消了代码对指针的直接操作的能力,也避免了C/C++语言中由于对指针的滥用而造成的安全和可靠性问题。 Go语言的指针类型指代了指向一个给定类型的变量的指针。它常常被称为指针的基本类型。指针类型是Go语言的复合类型之一。 3.8.1 类型表示法 可以通过在任...阅读全文

51CTO博客 2021-04-14 11:27:53 Huazie

第一节 如何用Go实现单链表

一、概念介绍下面这副图是我们单链表运煤车队。 每节运煤车就是单链表里的元素,每节车厢里的煤炭就是元素中保存的数据。前后车通过锁链相连,作为单链表运煤车,从1号车厢开始,每节车厢都知道后面拉着哪一节车厢,却不知道前面是哪节车厢拉的自己。第一节车厢没有任何车厢拉它,我们就叫它车头,第五节车厢后面拉其他车厢,我们称为车尾。作为单链表它最大的特点就是能随意增加车队的长度,也能随意减少车队的长度。这是比数组公交车最大的优点。二、Go语言实现讲解1、节点 每节车厢都由车体、绳索和煤炭构成。在Go语言中表示这...阅读全文

51CTO博客 2021-04-14 09:34:10 独孤一笑

CPU Cache到底有多快

引言 最近在学习SPDK开发,其中有个重要概念就是通过RTC(Run To Completion)单线程模式减少上下文切换,增加cache命中率,从而提高整体性能。CPU访问cache的速度理论上比访问内存的速度高两个数量级,今天我就实测一下,cache对程序到底有多大的影响。 环境介绍 我的电脑CPU cache现状通过lscpu命令显示如下: lscpu 其中L1d和L1i分别是一级数据cache和一级指令cache,由于是4 core CPU,所以每个core的缓存数是上图数值除以4。也可...阅读全文

简书 2021-04-14 04:32:40 造雨人_986a

2021-04-13:判断二叉树是否是平衡二叉树?

2021-04-13:判断二叉树是否是平衡二叉树? 福大大 答案2021-04-13: 1.左子节点平衡。 2.右子节点平衡。 3.左右子节点高度差不超过1。 采用递归即可。 代码用golang编写。代码如下: package main import "fmt" func main() { head := &TreeNode{Val: 5} head.Left = &TreeNode{Val: 3} head.Right = &TreeNode{Val: 7} head.Left.Left = ...阅读全文

简书 2021-04-14 04:32:39 福大大架构师每日一题

go channel

[toc] Channel 编译器翻译 image-20200504174721504 关键数据结构 hchan sudog hchan <img src="http://picgo.vipkk.work/20200504175832.png" alt="image-20200504175832482" style="zoom:50%;" /> sudog <img src="http://picgo.vipkk.work/20200505204907.png" alt="image-20200...阅读全文

简书 2021-04-14 04:32:39 lucasgao

Docker镜像与容器

参考链接镜像地址docker镜像安装并列出已有镜像 $ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]|docker image ls 删除本地镜像$ docker image rm [选项] <镜像1> [<镜像2> ...]注意:删除镜像时:我们可以用镜像的完整 ID,也称为长ID,来删除镜像。docker image ls 默认列出的就已经是短 ID 了,一般取前3个字符以上,只要足够区分于别的镜像就可以了。我们也可以用镜像名,也就...阅读全文

简书 2021-04-14 04:32:38 今天阳光很好_322d

Golang与MongoDB

1 CentOS安装MongoDB 以阿里云ECS控制台远程连接的命令行模式为例。 MongoDB官方安装说明 先创建yum仓库配置: sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo 然后粘贴的代码: [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgch...阅读全文

简书 2021-04-14 04:32:31 zhyuzh3d

go时间解析

标准时间格式字符串转为time类型 https://pkg.go.dev/time?utm_source=gopls#Parse func time.Parse(layout string, value string) (time.Time, error) 其中layout的时间必须是"2006-01-02 15:04:05"这个时间 vmcoreTime="2021-04-07 07:45:22" time, _ := time.Parse("2006-01-02 15:04:05", vmc...阅读全文

51CTO博客 2021-04-13 21:18:10 1350368559