Go

go入门-1 变量

34 0

var 声明一个或者多个变量 你可以一次申明多个变量 go自动推断已经初始化的类型zmedu:~ mac$ cat fds.go package main import "fmt" func main(){var a string = "inital"fmt.Println(a)var b,c int = 1,2fmt.Println(b,c)var d = truefmt.Println(d)var e intfmt.Println(e)f := "short"fmt.Println(

Go

Golang InfluxDB 基础操作

321 0

InfluxDB基础操作 基础操作连接 [root@localhost ~]# influx -precision rfc3339 Connected to http://localhost:8086 version 1.8.0 InfluxDB shell version: 1.8.0 >precision参数表明了任何返回的时间戳的格式和精度,在上面的例子里,rfc3339是让InfluxD

Go

golang的zap日志库的简单封装

81 0

项目的需要,对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(msg string, fields ...zap.Fi

Go

GO 语言常用排序

49 0

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] >

Go

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

45 0

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

Go

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

292 0

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

Go

Go语言学习10-指针类型

66 0

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

Go

一码理解函数是一等公民

25 0

package mainimport ("fmt""strconv" )type Attach func(string) stringfunc (a Attach) loopTimes(n int) string {for i := 1; i < n; i ++ {a(strconv.Itoa(i))}return a(strconv.Itoa(n)) }func newAttach() Atta