golang模块

一、命令行库Cobra

Cobra提供简单的接口来创建强大的现代化CLI接口,比如git与go工具。
Cobra同时也是一个程序, 用于创建CLI程序

https://www.jianshu.com/p/7abe7cff5384

二、client-go

Client-go是kubernetes官方发布的调用K8S API的golang语言包,可以用来开发K8S的管理服务、监控服务,配合前端展示,就可以开发出一款定制化的、可视化的管理或监控工具。目前最新版本为7.0,对应K8S的版本为1.10,访问链接:https://github.com/kubernetes/client-go

https://www.cnblogs.com/leejack/p/9525878.html

三、hugo

Hugo是由Go语言实现的静态网站生成器。简单、易用、高效、易扩展、快速部署。

http://www.gohugo.org/
https://gohugo.io/

四、kubernetes 从入门到实践

https://www.kancloud.cn/huyipow/kubernetes

五、jsonpatch可以找到两个json字符串的区别,然后把区别发给前端,避免全量传输

example:

package main

import (
"fmt"
"github.com/mattbaird/jsonpatch"
) var simpleA = `{"a":, "b":, "c":"hello"}`
var simpleB = `{"a":, "b":, "c":"goodbye"}` func main() {
patch, e := jsonpatch.CreatePatch([]byte(simpleA), []byte(simpleB))
if e != nil {
fmt.Printf("Error creating JSON patch:%v", e)
return
}
for _, operation := range patch {
fmt.Printf("%s\n", operation.Json())
}
}

https://github.com/mattbaird/jsonpatch

六、使用golang操作kafka:sarama及其扩展sarama-cluster

又因为sarama不支持consumer group,于是又使用了sarama cluster

文档:
https://godoc.org/github.com/bsm/sarama-cluster
https://godoc.org/github.com/Shopify/sarama
示例:https://github.com/bsm/sarama-cluster

https://studygolang.com/articles/8942

加载证书的示例:https://dev.to/davidsbond/golang-implementing-kafka-consumers-using-sarama-cluster-4fko

只消费一次的示例:https://blog.csdn.net/jeffrey11223/article/details/81436747

七、ssh

文档:https://godoc.org/golang.org/x/crypto/ssh#example-Client-Listen
代码:https://github.com/golang/crypto
https://www.jianshu.com/p/7d315f8551ad

8、errors错误处理接口

https://godoc.org/github.com/pkg/errors#example-New

9、Protocol类似于json,可以在多个语音之间传输

ProtoBuf: 是一套完整的 IDL(接口描述语言),出自Google,基于 C++ 进行的实现,开发人员可以根据 ProtoBuf 的语言规范生成多种编程语言(Golang、Python、Java 等)的接口代码
protobuf是Google开发出来的一个语言无关、平台无关的数据序列化工具,在rpc或tcp通信等很多场景都可以使用。通俗来讲,如果客户端和服务端使用的是不同的语言,那么在服务端定义一个数据结构,通过protobuf转化为字节流,再传送到客户端解码,就可以得到对应的数据结构
https://segmentfault.com/a/1190000009277748
https://www.jianshu.com/p/1a3f1c3031b5
https://segmentfault.com/a/1190000010477733
https://github.com/golang/protobuf

10、goole的rpc:grpc

https://github.com/grpc/grpc-go
https://grpc.io/docs/quickstart/go.html
https://grpc.io/docs/tutorials/basic/go.html
https://doc.oschina.net/grpc?t=60133
https://segmentfault.com/a/1190000016328212
https://www.jianshu.com/p/506c7c5f72be
https://www.jianshu.com/p/774b38306c30

11、golang的上下文管理context:

应用场景:在 Go http 包的 Server 中,每一个请求在都有一个对应的goroutine去处理。请求处理函数通常会启动额外的goroutine用来访问后端服务,比如数据库和 RPC 服务。用来处理一个请求的goroutine通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的 token、请求的截止时间。当一个请求被取消或超时时,所有用来处理该请求的goroutine都应该迅速退出,然后系统才能释放这些goroutine占用的资源
https://www.jianshu.com/p/d24bf8b6c869
https://zhuanlan.zhihu.com/p/34417106
https://deepzz.com/post/golang-context-package-notes.html
https://segmentfault.com/a/1190000006744213
https://juejin.im/post/5a6873fef265da3e317e55b6

12、文件上传下载:sftp

https://github.com/pkg/sftp
https://godoc.org/github.com/pkg/sftp#pkg-examples
http://www.01happy.com/golang-transfer-remote-file/

golang常用模块介绍的更多相关文章

  1. Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...

  2. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  3. Ansible常用模块介绍及使用(2)

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ...

  4. IIS7 常用模块介绍说明

    1.1.0   IIS常用的功能模块介绍: 1)         静态内容:可发布静态 Web 文件格式,比如 HTML 页面和图像文件. 2)         默认文档:允许您配置当用户未在 URL ...

  5. 8.2、常用模块介绍2:xml,configparser,hashlib

    xml: 介绍:包含关于可扩展标记语言xml的函数 使用: python有三种方法解析XML--SAX,DOM,以及ElementTree,由于xml技术落后,所以这里不对sax,dom介绍: xml ...

  6. 8.2,常用模块介绍:sys,os,time,random

    sys: 介绍:主要包含涉及python编译器与系统交互的函数. 常用函数: import sys print(sys.argv)#本文件名,已经运行该程序时的参数 #[如在命令窗口中python3 ...

  7. python 2.0 s12 day5 常用模块介绍

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  8. NodeJS常用模块介绍

    收集了NodeJS开发中常用的一些模块. MVC框架 - Express Express 是轻量灵活的Nodejs Web应用框架,它可以快速地搭建网站.Express框架建立在Nodejs内置的Ht ...

  9. python常用模块介绍

    关于if __name__ == "__main__": 若执行文件为bin,调用文件为cal: 若在执行文件bin中执行print(__name__) 输出:__main__ 当 ...

随机推荐

  1. 009 jquery过滤选择器-----------(表单对象属性过滤选择器 与 表单选择器)

    1.表单对象属性选择器 2.程序 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  2. ES7/8新特性学习随笔

    随着每年EcmaScript都会为js带来一些新特性,带来更多美化的编程体验,今天就走进一下es2016/2017所带来的新特性 ES7新特性 includes() 指数操作符 ES8新特性 asyn ...

  3. ftp服务及其实现之vsftpd

    本文最早发布于我的51CTO博客,目前已迁移至博客园. 简介 FTP,File Transfer Protocol,文件传输协议 文件服务器,具备存储和共享文件(权限设置合理的情况下)的功能 命令端口 ...

  4. 怎样c# java md5值保持一致

    c#方式 /// <summary> /// 获得字符串md5. /// </summary> /// <param name="myString"& ...

  5. 為你的文件夾添加“使用CMD命令打開”菜單

    最近在項目中,經常使用要使用一些python命令,要打開cmd窗口,再pushd或cd切換到某個文件夾,相當麻煩.於是想,何不在“文件夾”中添加右鍵“pushd”命令呢? 有了目的性,一切似乎就變得簡 ...

  6. 【HDU 5382】 GCD?LCM! (数论、积性函数)

    GCD?LCM! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total ...

  7. 10分钟上手python pandas

    目录 Environment 开始 对象创建 查看数据 选择 直接选择 按标签选择 按位置选择 布尔索引 设置 缺失数据 操作 统计 应用(apply) 直方图化(Histogramming) 字符串 ...

  8. linux和mac

    整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...

  9. 谨慎注意WebBrowser控件的DocumentCompleted事件

    引言 WebBrowser控件的DocumentCompleted事件一般就被认定为是在页面完全加载完毕后产生,而注释中也是这么写的: 但事实却并非如此. 首先它不一定会在完全加载完毕时才触发,有时就 ...

  10. MUI框架之输入框Input

    input输入框的官方api文档:http://dev.dcloud.net.cn/mui/ui/#input 一.输入框类型 输入框的类型是根据type来决定是普通输入框还是密码框,搜索框等类型 & ...