Golang
Golang基础语法
RSQ博客
On the way.
展开
-
go+react实现远程vCenter虚拟机管理终端
基于go & react实现远程vSphere vcenter虚拟机终端console页面,提供与vcenter管理中的`Launch Web Console`相同的功能。原创 2024-04-18 17:21:57 · 513 阅读 · 1 评论 -
golang连接tapd rest api反序列化json数据获取bug信息
通过连接tapd api,获取指定优先级的bug list原创 2021-11-24 10:55:42 · 983 阅读 · 0 评论 -
client-go基础用法之增删改查deployment
client-go创建clientSetclient-go获取pod信息client-go获取deployment信息client-go更新deployment副本数量client-go更新deployment镜像client-go删除deploymentclient-go创建deployment和service原创 2021-11-19 11:21:37 · 2957 阅读 · 0 评论 -
golang切片分页
核心代码如下:package mainimport ( "fmt" "math")func SlicePage(page, pageSize, nums int) (sliceStart, sliceEnd int) { // 定义page和size的默认值 if page <= 0 { page = 1 } if pageSize <= 0 { pageSize = 10 } // 如果pageSize大于num(切片长度), 那么sliceEnd直接返回n原创 2021-11-12 17:51:38 · 1636 阅读 · 0 评论 -
使用client-go mod报错
报错版本不匹配:k8s.io/client-go/kubernetes: module k8s.io/client-go@latest found (v1.5.2), but does not contain package k8s.io/client-go/kubernetes原创 2021-10-27 16:51:53 · 1338 阅读 · 2 评论 -
Gorm 相关问题记录
文章目录1 gorm的Related和Association的区别2 gorm Preload1 gorm的Related和Association的区别二者区别在于谁主谁从下述代码中user表是源,role关联源中的字段名,简而言之通过先查user–>role 最终的主表记录从user出发db.Model(&user).Association("role").Find(&info)Related方法其内的role表是要查主表源,主查role表user实例只是条件填充对原创 2021-08-18 14:16:06 · 778 阅读 · 0 评论 -
Golang连接ldap获取sAMAccountName
什么是sAMAccountName,域账号在创建的时候会有全名(fullName)和sAMAccountName,前者更像是此账号的备注,真正使用的登录账号其实是sAMAccountName,那么怎么用go-ldap获取sAMAccountName,其实就是通过设置NewSearchRequest的Filter 为 objectCategory=Person,而后Attributes属性获取切片中的sAMAccountName字段即可,代码如下:GetsAMAccountName.gopackage m原创 2021-07-27 16:47:21 · 1829 阅读 · 0 评论 -
Golang连接ldap校验ldap user
第三方包:go-ldap方法文档:go-ldap docs实现方法:使用管理员账户密码进行Bind根据要验证的用户名查找DN使用要验证的用户DN和密码进行第二次Bind核心代码:userAuth.gopackage ldapimport ( "crypto/tls" "fmt" "github.com/go-ldap/ldap/v3" "gopkg.in/ini.v1")func UserAuthentication(user, pass string) error {原创 2021-07-20 16:32:43 · 2202 阅读 · 0 评论 -
Golang连接Jenkins获取Job Build状态及相关信息
文章目录1 连接Jenkins2 controller3 module4 router5 效果展示第三方包:gojenkins方法文档:gojenkins docs实现起来很简单,利用第三方库,连接jenkins,调用相关方法,处理返回结果,返回数据至前端下边贴一下核心代码1 连接Jenkinspackage connectimport ( "context" "github.com/bndr/gojenkins" "github.com/go-ini/ini" "log" "je原创 2021-07-15 16:02:35 · 2573 阅读 · 4 评论 -
gorm指定pgsql模式连接数据库表
gorm指定pgsql模式连接数据库表,需要构造一个结构体方法来实现,代码如下:package mainimport ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/postgres" "log" "time")type UsersInfo struct { gorm.Model Username string `json:"username" gorm:"column:username;unique"`原创 2021-06-02 16:11:49 · 2629 阅读 · 0 评论 -
Go mod 问题记录
文章目录1 go get github.com/xxxx/xxx 失败2 go get 获取到的代码不能直接用总结下最近用go的一些小问题1 go get github.com/xxxx/xxx 失败这个是需要设置一个goproxy,参考:Goproxy 中国Go 1.13 及以上(推荐)go env -w GO111MODULE=ongo env -w GOPROXY=https://goproxy.cn,directmacOS 或 Linux# 临时生效export GO111MOD原创 2021-03-15 18:40:14 · 574 阅读 · 0 评论 -
Linux 部署go环境
1、下载go包cd /optwget https://studygolang.com/dl/golang/go1.14.3.linux-amd64.tar.gztar -xf go1.14.3.linux-amd64.tar.gz2、配置环境变量(包括GOPROXY)cat >>/etc/profile<<EOFexport GOROOT=/opt/goexport PATH=$GOROOT/bin:$PATHexport GOPATH=$HOME/goprojec原创 2021-03-15 18:18:34 · 275 阅读 · 0 评论 -
Go语言连接MySQL和SQL Server
连接MySQL,先获取第三方包go get -u github.com/go-sql-driver/mysql连接SQL Server,获取第三方包go get github.com/mattn/go-adodb# 安装以下包,不然报错 cannot find package "golang.org/x/sys/unix"mkdir -p $GOPATH/src/golang.org/xcd $GOPATH/src/golang.org/x原创 2020-07-16 18:47:03 · 3808 阅读 · 0 评论 -
Go语言处理json字符串并导出为表格保存至文件中
需求每月定期拉json数据(调用api这块忽略,直接给json字符串),周期为每个月的月初2020-06-01 00:00:00到月末2020-06-01 23:00:00对获取的json串进行处理(默认获取的json串嵌套很多层json),获得我们需要的json串把所处理后的json字符串定时追加到表格文件中思路若要实现自动化拉数据,写入文件,需要考虑到如何判断每个月有几天,周期范围要怎么去自动填写,需要用到time包来实现注意:以下代码仅供参考,不可直接复制粘贴运行(删除了一些获取j原创 2020-07-14 19:34:54 · 2086 阅读 · 2 评论 -
(十三)Golang单元测试 - testing
文章目录单元测试1 传统函数功能测试2 testing测试框架2.1 示例12.2 示例23 注意事项单元测试正常情况下在写好代码后需要对函数的功能进行一个测试,1 传统函数功能测试传统的函数功能测试就是单一的对函数的返回值或者功能进行判断,看是否符合我们的预期要求,比如我们写一个计算数值和的函数,在测试的时候我们就对结果进行判断,看结果是否是我们预期的值,进而实现函数的测试。2 testing测试框架Go语言中自带有一个轻量级的测试框架testing和自带的 go test 命令来实现单元测试原创 2020-07-07 23:42:08 · 1130 阅读 · 0 评论 -
Golang的json序列化和反序列化
文章目录json序列化及反序列化1 json的序列化2 json的反序列化json序列化及反序列化json是一种轻量级的数据交换格式,易于人为阅读和编写,同时也易于机器的解析和生成,是一种key-value的格式。由于json语言中,一切都是对象。因此,任何的数据类型都可以通过json来表示,例如,字符串、数字、对象、数组、map、结构体等等。json解析的网站1 json的序列化json的序列化是指,将现有的key-value结构的数据类型(比如结构体、map、切片)序列化成json字符串原创 2020-07-07 19:22:49 · 709 阅读 · 0 评论 -
(十二)Golang连接操作Redis
获取Golang的redis第三方apigit clone https://github.com/garyburd/redigo.git1 Set/Get接口package mainimport ( "fmt" "github.com/garyburd/redigo/redis" // 引入redis包)func main() { // 通过go向redis写入数据和读取数据 // 1.连接到redis conn, err := redis.Dial("tcp", "127.原创 2020-05-28 23:22:26 · 1275 阅读 · 0 评论 -
(十一)TCP网络编程小案例
1 要求1)编写一个服务端程序,监听8888端口2)可以和多个客户端创建连接(goroutine)3)连接成功,客户端可以发送数据,服务端接收数据,并显示在终端上4)能通过终端输入数据(一行一行发送),并发送给服务器5)在终端输入exit,表示退出程序2 C/S端处理流程服务端的处理流程1)监听端口 88882)接收客户端的tcp连接,建立客户端和服务端的连接3)创建goroutine,处理该连接的请求(通常客户端会通过连接发送请求包)客户端的处理流程1)建立与服务器端的连原创 2020-05-27 17:52:58 · 608 阅读 · 0 评论 -
(十)reflect反射
文章目录1 反射的基本概念 注意事项1 反射的基本概念反射可以在运行时动态的获取变量的各种信息,比如变量的类型(type)、类别如果是结构体变量,还可以获取到结构体本身的信息(包括结构体字段、方法)通过反射,可以修改变量的值,可以调用关联的方法使用反射,需要 import "reflect"reflect.TypeOf(变量名),获取变量的类型,返回 reflect.Type原创 2020-05-27 13:02:06 · 631 阅读 · 0 评论 -
(九)goroutine协程和channel管道
文章目录1 基本概念1.1 进程和线程说明1.2 并发和并行2 goroutine协程2.1 exa12.2 exa22.3 exa33 channel管道3.1 example3.1.1 exa13.1.2 exa23.1.3 exa3(channel不同数据类型的声明)3.1.4 exa43.2 channel的遍历4 goroutine和channel结合实例4.1 exa14.2 exa24.3 exa31 基本概念1.1 进程和线程说明1 进程就是程序在操作系统中的一次执行过程,是系统进行原创 2020-05-25 17:08:16 · 792 阅读 · 2 评论 -
(八)文件的操作
文章目录1 读取文件1.1 exa11.2 exa21.3 exa31.4 判断文件是否存在2 写入文件内容2.1 exa12.2 exa22.3 exa32.4 exa42.5 exa53 文件的拷贝3.1 拷贝非文本文件的文件3.2 拷贝文本文件4 命令行参数4.1 exa14.2 exa2 (flag)5 json序列化及反序列化5.1 json的序列化5.2 json的反序列化6 单元测试6.1 传统函数功能测试6.2 testing测试框架6.2.1 exa16.2.2 exa26.3 注意事项原创 2020-05-25 10:30:37 · 458 阅读 · 0 评论 -
(七)Go语言学习笔记 - 接口(interface)
目录1 接口简单使用场景2 什么是接口2.1 details2.2 经典调用接口的实例2.3 接口和继承的关系1 接口简单使用场景package mainimport ( "fmt")// 定义一个 Usb 接口type Usb interface{ Start() Stop()}// 定义手机结构体type Phone struct{}// 让Phone实现Us...原创 2020-04-27 15:46:01 · 602 阅读 · 0 评论 -
(六)Go语言学习笔记 - 面向对象封装、继承
Go语言学习目录1 封装1.1 实例11.2 实例22 继承2.1 实例11 封装封装(encapsulation)就是把抽象出的字段和对字段的操作封装在一起,数据被保护在内部,程序的其它包只有通过被授权的操作方法,才能对字段进行操作。封装好处:(1)隐藏实现细节(2)可以对数据进行验证,保证安全合理如何体现封装(1)对结构体中的属性进行封装(2)通过 方法、包 来实现封装...原创 2020-04-26 19:38:15 · 406 阅读 · 0 评论 -
(五)Go语言学习笔记 - Struct结构体
Go语言学习笔记3.10 Struct(结构体)3.10.1 attention3.10.2 example3.10.2.1 exa13.10.2.2 exa23.10.2.3 exa33.10.2.4 exa43.10.3 method(结构体方法)3.10.3.1 exa13.10.3.2 exa23.10.3.3 exa33.10.3.4 attention3.10 Struct(结构体)...原创 2020-04-22 20:25:10 · 760 阅读 · 0 评论 -
(四)Go语言学习笔记 - Slice切片、map映射
Go语言学习笔记3.9 Slice(切片)3.9.1 attention3.9.2 example3.9.2.1 exa13.9.2.2 exa23.9.2.3 exa33.9.2.4 exa43.9.3 字符串切片3.9.4 slice_copy3.9.5 slice_append3.9 Slice(切片)3.9.1 attention切片的基本介绍(1)切片的英文是slice(2)切...原创 2020-04-22 20:13:10 · 735 阅读 · 0 评论 -
(三)Go语言学习笔记 - 数组
Go语言学习笔记3.8 Array(数组)3.8.1 一维数组3.8.1.1 main3.8.1.2 ergodic(遍历)3.8.2 二维数组3.8.2.1 exa13.8.2.2 exa23.8.2.2 ergodic(遍历)3.8.3 search(查找)3.8.3.1 顺序查找3.8.3.2 二分法查找3.8.4 sort(排序)3.8.4.1 冒泡排序3.8.5 example3.8.5...原创 2020-04-22 20:04:16 · 807 阅读 · 0 评论 -
Go语言学习笔记目录
(一)Go语言基础知识(二)函数原创 2020-04-22 19:41:50 · 390 阅读 · 0 评论 -
(二)Go语言学习笔记 - 函数
Go语言函数之匿名函数、闭包、defer、err、init函数、对字符串操作的函数、time函数、自定义包原创 2020-04-22 19:38:17 · 445 阅读 · 0 评论 -
(一)Go语言学习笔记
@ TOC1 Go语言注意的地方Go语言语句后边不要带分号(它会在每行后自动加分号)Go语言应用程序的执行入口是main()函数Go语言严格区分大小写由于Go编译器是一行行进行编译的,因此一行就写一条语句,不能把多条语句写在同一行Go语言定义的变量或者import的包如果没有使用到,代码不能编译通过Go语言编译执行和直接run的区别(1)如果先编译再执行,那么编译后的二进制可...原创 2020-04-22 18:40:52 · 764 阅读 · 0 评论