go
wangwei830
物极必反,扩展你的两极,保持适度状态。
展开
-
大伟 查看Linux系统某个目录下的大于5M的所有文件 第2版
【代码】大伟 查看Linux系统某个目录下的大于5M的所有文件 第2版。原创 2022-08-30 10:44:49 · 433 阅读 · 0 评论 -
大伟 查看Linux系统某个目录下的大于5M的所有文件
【代码】大伟 查看Linux系统某个目录下的大于5M的所有文件。原创 2022-08-29 16:29:41 · 538 阅读 · 0 评论 -
Go语言JSON文件的读写操作
BSON 文档中的大型元素以长度字段为前缀以便于扫描。在某些情况下,由于长度前缀和显式数组索引的存在,BSON 使用的空间会多于 JSON。JSON 是一种使用 UTF-8 编码的纯文本格式,采用完全独立于语言的文本格式,由于写起来比 XML 格式方便,并且更为紧凑,同时所需的处理时间也更少,致使 JSON 格式越来越流行,特别是在通过网络连接传送数据方面。Go语言内建对 JSON 的支持,使用内置的 encoding/json 标准库,开发人员可以轻松使用Go程序生成和解析 JSON 格式的数据。....转载 2022-08-06 09:49:00 · 781 阅读 · 0 评论 -
golang 实现文件上传下载
fmt.Println(“解析url失败”,err)fmt.Println(“解析url失败”,err)fmt.Println(“打开文件错误”,err)fmt.Println(“解析文件失败”,err)fmt.Println(“读取文件失败”,err)fmt.Println(“文件不存在”,err)fmt.Println(“拷贝文件数据失败”)fmt.Println(“保存文件失败”)fmt.Println(“创建文件失败”)fmt.Println(“打开文件失败”)上传(支持批量上传)......转载 2022-07-29 10:02:23 · 2539 阅读 · 0 评论 -
大伟 Golang之路
https://golang.google.cn/ https://golang.google.cn/dl/ 版本: go.1.18在线文档: https://www.itying.com/gin我的专栏: https://www.itying.com/category-79-b0.html官网: https://gin-gonic.com/zh-cngin模板放在不同目录里面的配置方法gin模板嵌套gin前端变量gin前端移除空格gin前端比较函数gin前端条件判断gin原创 2022-07-28 20:36:31 · 685 阅读 · 0 评论 -
golang对齐输出
package mainimport ( "fmt" "unicode")func main(){ for i:=0; i<=127 ;i++ { fmt.Printf("%d, %c\n", i,i) } h2:=HangNeiRong{ 2, "bbbbbb", } h3:=HangNeiRong{ 3, "c", } var HangList []HangNeiRong HangList=append(HangList, h2) HangL原创 2022-03-19 03:44:09 · 1045 阅读 · 0 评论 -
聊天2 用户上线及广播功能
main.gopackage mainfunc main(){ server := NewServer("1.1.1.1",10830) server.Start()}server.gopackage mainimport ( "fmt" "net" "sync")type Server struct { Ip string Port int UserMap map[string]*User maplock sync.RWMutex C chan strin原创 2022-03-16 15:26:21 · 392 阅读 · 0 评论 -
聊天1 构建基础server
package mainimport ( "fmt" "net")type Server struct { Ip string Port int}func NewServer(ip string,port int) *Server { server := &Server{ ip, port, } return server}func (this *Server) LoginHello(conn net.Conn){ fmt.Println("Hello原创 2022-03-15 16:50:02 · 364 阅读 · 0 评论 -
go modules
原创 2022-03-15 16:35:39 · 107 阅读 · 0 评论 -
大伟 一个Go程序,以使用将数据从数据库表中的行转储到csv文件中SELECT *
为了Scan将值直接转换成[]string,您必须创建一个[]interface{}指向字符串切片中每个字符串的切片。在这里,您有一个适用的MySQL示例(只需更改sql.Open-command以匹配您的设置):package mainimport ( "fmt" _ "github.com/go-sql-driver/mysql" "database/sql")func main() { db, err := sql.Open("mysql", "user:原创 2022-03-10 11:58:32 · 679 阅读 · 0 评论 -
Linux下GO通过ODBC连接到GBase 8s数据库
操作系统:CentOS 7.8 64-bit软件需求:GBase 8s CSDK 2.0.1A2_2UnixODBC 2.3.11,系统环境确认1.1 unixODBC版本Linux下root用户通过rpm确认unixODBC、unixODBC-devel均已经安装,如下:[root@a01 ~]# rpm -qa unixODBC unixODBC-develunixODBC-2.3.1-14.el7.x86_64unixODBC-devel-2.3.1-14.el7.x86_641.原创 2022-03-08 13:59:14 · 347 阅读 · 0 评论 -
go项目在linux下编译出现 fatal error: sql.h compilation terminated,解决
go项目引入github.com/alexbrainman/odbclinux下编译出现了问题:1234/root/go/pkg/mod/github.com/alexbrainman/odbc@v0.0.0-20210605012845-39f8520b0d5f/api/api_unix.go:14:18: fatal error: sql.h: No such file or directory// #include <sql.h>^compilation termina转载 2022-02-19 19:07:05 · 1350 阅读 · 0 评论 -
golang通过odbc连接informix数据库
package mainimport ( "database/sql" "fmt" _ "github.com/alexbrainman/odbc")func main() { var nombre string fmt.Println(" Conexion Go al Informix ") db, err := sql.Open("odbc", "DSN=Infdrv1;locale=es_ES.819;") // nombre del conector, nombre d原创 2022-02-18 15:47:48 · 1351 阅读 · 2 评论 -
Linux部署ODBC连接informix数据库
Linux部署ODBC连接informix数据库 1、下载、安装informix-csdk安装包ibm.csdk.4.50.FC4W1.LNX.tar 可以安装在informix的集群上,也可以安装在非informix的机器上1.1、下载[root@test ~]# wget https://iwm.dhe.ibm.com/sdfdl/2v2/regs2/mstadm/informix/Xa.2/Xb.YBTN_DlRQlu3TFy95gEcGB8pOJCWo7GBhu...转载 2022-02-18 15:46:59 · 1092 阅读 · 0 评论 -
windows部署ODBC连接informix数据库
windows部署ODBC连接informix数据库 1、下载、安装csdk下载windows的informix的csdk安装包下载地址:https://iwm.dhe.ibm.com/sdfdl/2v2/regs2/mstadm/informix/Xa.2/Xb.YBTN_DlRQlu3TFy9dsQb6dEhMCgdEZqnyBthWhMOCpo/Xc.ibm.csdk.4.50.FC3.WIN.zip/Xd./Xf.lPr.D1vk/Xg.11016321/Xi....转载 2022-02-18 15:42:15 · 1574 阅读 · 0 评论 -
go gin 初始化和网页模板
main.gopackage mainimport "github.com/gin-gonic/gin"func main() { route := gin.Default() route.LoadHTMLGlob("views/*/*") //如果文件名称重复会覆盖 route.GET("/", Index) route.GET("/user",User) route.Run(":80")}func Index(context *gin.Context){ v1:="aa1原创 2022-02-16 16:40:08 · 262 阅读 · 0 评论 -
golang并发控制代码 大伟注释
package mainimport ( "fmt" "time")type GoPool struct { MaxLimit int tokenChan chan struct{}}// 定义一个函数类型(这个函数有一个入参没有返回值)type GoPoolOption func(*GoPool)// 动态生成一个函数,这里我将这个函数命名为并发控制函数(生成的这个函数有如下函数体:重新初始化结构体值’并发个数,令牌通道内存,通道槽位赋值‘)func WithMaxLimi原创 2022-02-08 14:35:56 · 340 阅读 · 0 评论 -
golang 并发控制代码
package mainimport ( "fmt" "time")type GoPool struct { MaxLimit int tokenChan chan struct{}}type GoPoolOption func(*GoPool)func WithMaxLimit(max int) GoPoolOption { return func(gp *GoPool){ gp.MaxLimit = max gp.tokenChan = make(chan stru原创 2022-02-07 17:22:49 · 220 阅读 · 0 评论 -
golang 从mysql取datetime类型数据
golang 从mysql取datetime类型数据通过golang从mysql中查询datetime字段,本想参考之前普通类型查询,只要将变量类型修改为time.Time就可以:rows, err := db.Query(“select login_time from user where id=1”)for rows.Next() {undefinedvar lastLoginTime time.Timeerr = rows.Scan(&lastLoginTime)if err !=转载 2022-01-10 17:26:59 · 1446 阅读 · 0 评论 -
waitgroup+channel控制goroutine并发数量
版本一:package main import ( "fmt" "runtime" "sync")var wg = sync.WaitGroup{}// 任务业务流程func business(ch chan bool, i int) { fmt.Println("go func", i, " goroutine count = ", runtime.NumGoroutine) <-ch wg.Done()}func main() {转载 2021-12-24 17:39:28 · 269 阅读 · 0 评论 -
Go基础系列:WaitGroup用法
package databaseimport ( "sync" "time")func ListCaiji(ipList []string) []string{ var valueList []string var wg sync.WaitGroup for _,ip := range ipList { wg.Add(1) go func(ip string){ o := OneObj(ip) v := OneLoadTxt(o) valueList=app原创 2021-12-24 17:30:57 · 268 阅读 · 0 评论 -
对GOLANG里面的数组去重 list去重
func main() { list := []string {"hello", "hello"} list = removeRepeatElement(list) fmt.Println(list)}func removeRepeatElement(list []string) []string{ // 创建一个临时map用来存储数组元素 temp := make(map[string]bool) index := 0 for _, v :=原创 2021-12-24 16:47:53 · 1467 阅读 · 0 评论 -
Golang 调用系统命令 同时处理windows字符集问题
Golang 调用系统命令在开发中我们经常会遇到需要调用系统的命令,我的 ECTS 项目中也用到了 Golang 的 exec 包。创建系统命令调用Commandcmd := exec.Command("/bin/bash", "-c", "command")方法原型func Command(name string, arg ...string) *Cmd {}CommandContextctx, cancelFun := context.WithTimeout(context.Back原创 2021-12-24 10:43:17 · 597 阅读 · 0 评论 -
Go语言实现ping命令
ping是使用ICMP协议ICMP协议的组成:Type(8bits) + Code(8bits) + 校验码(checksum,8bits) + ID(16bits) + 序号(sequence,16bits) + 数据这些组成部分的含义:1)Type ICMP的类型,标识生成的错误报文2)Code 进一步划分ICMP的类型,该字段用来查找产生的原因;例如,ICMP的目标不可达类型可以把这个位设为1至15等来表示不同的意思。3)CheckSum 校验码部分,这个字段包含从ICMP报头和数据部分计转载 2021-12-24 10:38:13 · 2674 阅读 · 0 评论 -
go mysql 防止sql注入
//test.gopackage mainimport ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" "html/template" "log" "net/http" "strings")func login(w http.ResponseWriter, r *http.Request) { fmt.Println("method:", r.Method) //获取请求的方法 if r.Method == "原创 2021-12-10 15:09:21 · 1416 阅读 · 0 评论 -
大伟使用vue+element组一个导航栏
<script src="//unpkg.com/vue/dist/vue.js"></script><script src="//unpkg.com/element-ui@2.15.7/lib/index.js"></script><div id="app"><el-row class="tac"> <el-col :span="12"> <h5>自定义颜色</h5> &l原创 2021-12-08 17:35:33 · 162 阅读 · 0 评论 -
golang 多线程查找文件内容
package mainimport ( "fmt" "io/ioutil" "os" "path/filepath" "strings")var matchCount = 0var ch = make(chan int, 512)func findFile(path string, text string) { var pathArray [100]string var count = 0 filepath.Walk(path原创 2021-12-07 14:30:04 · 491 阅读 · 0 评论 -
【无标题】
解析json数据到mappackage tool// 解析json数据到mapimport ( "encoding/json" "fmt" "io/ioutil")var ConfigMap map[string]stringfunc InitConfigMap(){ bytes, err := ioutil.ReadFile("./config/config.json") if err != nil { fmt.Println("读取json文件失败", err) r原创 2021-12-07 14:11:12 · 190 阅读 · 0 评论 -
从0开始Go语言,用Golang搭建网站
实践是最好的学习方式零基础通过开发Web服务学习Go语言[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9jb019j4-1638772166928)(https://studygolang.com/img/bVbswsd?w=910&h=892)]本文适合有一定编程基础,但是没有Go语言基础的同学。也就是俗称的“骗你”学Go语言系列。这是一个适合阅读的系列,我希望您能够在车上、厕所、餐厅都阅读它,涉及代码的部分也是精简而实用的。学习需要动机Go语言能干什转载 2021-12-06 14:29:50 · 4199 阅读 · 1 评论 -
安装配置hugo
title: “安装配置hugo”date: 2021-12-05T12:50:03+08:00draft: true初始配置官网下载https://github.com/gohugoio/hugo/releases下载目录:C:\Users\Administrator\go\src\HugoMyblog安装配置解压安装查看版本root@wangwei830:/opt/blog# ./hugo versionhugo v0.89.4-AB01BA6E linux/amd64 Bu.原创 2021-12-05 16:33:00 · 773 阅读 · 0 评论 -
GO查询数据库用结构体接收
ruiyun=# \d lpar; Table "public.lpar" Column | Type | Collation | Nullable | Default -------------+-------------------+-----------+----------+--------- sn | character varying | | not null | n原创 2021-08-18 10:19:31 · 507 阅读 · 0 评论 -
GO连接postgresql数据库
package connectimport ( "database/sql" "fmt" _ "github.com/bmizerany/pq" "log" "wei.com/大伟代码/007.大伟运维监控管理工具/config")func Connect() *sql.DB{ dbinfo := config.DBinfo() dbStr := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname原创 2021-08-18 10:17:48 · 801 阅读 · 0 评论 -
Go语言:模拟鼠标操作(go-vgo/robotgo)
https://zhuanlan.zhihu.com/p/140433402检测到目前导入仓库在 Gitee 上已有公开同步仓库,点击链接马上访问:https://gitee.com/veni0/robotgo▌前置安装:go get github.com/go-vgo/robotgo▌按键操作:package mainimport ( "github.com/go-vgo/robotgo")func main() { // 向上滚动:3行 robotgo.ScrollMou原创 2021-08-18 10:13:21 · 2229 阅读 · 1 评论 -
GO函数类型
package mainimport "fmt"type p func(c string) (n int,err error)func pr(c string) (n2 int , err error){ return fmt.Println(c)}func main(){ var p p p = pr a,b := p("123") fmt.Println(a,b) c1,c2 := fmt.Println("汪伟") fmt.Println(c原创 2021-08-18 10:10:41 · 95 阅读 · 0 评论 -
GO类型断言
package mainimport "fmt"func main() { i := 100 { i := "100" v, ok := interface{}(i).(string) fmt.Println(v, ok) fmt.Printf("%T %T\n",v,ok) } v, ok := interface{}(i).(int) fmt.Println(v, ok) fmt.Printf("%T %T\n原创 2021-08-18 10:09:44 · 71 阅读 · 0 评论 -
GO通道select外面套for循环读取通道的值
package mainimport ( "fmt" "time")func main() { intChan := make(chan int, 1) time.AfterFunc(time.Second*5,func(){ intChan<- 99 }) time.AfterFunc(time.Second*10,func(){ close(intChan) }) var kai = true for kai原创 2021-08-18 10:09:01 · 325 阅读 · 0 评论 -
GO高阶函数使用技巧,闭包,传入函数,返回函数 Go
package mainimport ( "errors" "fmt")func main(){ var optAdd opt // 预留的部分程序逻辑 optAdd = func(x,y int) int { return x+y } add := getOptJst(optAdd) n,err := add(1,2) fmt.Println(n,err)}type jst func(x,j int) (int,error)原创 2021-08-18 10:07:05 · 96 阅读 · 0 评论 -
GO命令行参数flag编程用法,008.大伟直观数字横图
package mainimport ( "bufio" "flag" "fmt" "os" "strconv" "strings")var file stringvar beiShu intfunc init() { flag.StringVar(&file,"f","txt01","你要读入的文件名称") flag.IntVar(&beiShu,"b",1,"你要控制的倍数比例(除几)") flag.Usage= func(){ fmt.Printl原创 2021-08-18 10:04:47 · 76 阅读 · 0 评论 -
GO自旋等待条件满足,并发原子操作,并发顺序控制,确保每次迭代带入
package mainimport ( "fmt" "sync/atomic" "time")func main() {//GO自旋等待条件满足,并发原子操作,并发顺序控制 var count uint32 trigger := func(i uint32, fn func()) { for { if n := atomic.LoadUint32(&count); n == i { fn() atomic.AddUint32(&count,原创 2021-08-16 17:50:54 · 168 阅读 · 0 评论 -
Go 交叉编译 (跨平台编译)
Go 交叉编译Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序一 Mac 下编译 Linux 和 Windows 64位可执行程序CGO_ENABLED=0GOOS=linuxGOARCH=amd64go build main.goCGO_ENABLED=0GOOS=windowsGOARCH=amd64go build main.go二 Linux 下编译 Mac 和 Windows 64位可执行程序CGO_ENABLED=0GOOS=darwinGOAR转载 2021-08-14 11:31:39 · 3052 阅读 · 0 评论