下划线golang
golang 1.18 workspace mode
why ? 为什么需要workspace 历史发展和版本依赖的管理 GOPATH 最开始的模式 开发者需要设置一个环境变量 GOPATH,用于指定项目的工作空间。GOPATH 是一个目录路径,其中包括了三个重要的子目录:src、bin 和 pkg 通过 go get 命令,GOPATH/src 下的 ......
golang 的循环导入
内容来自对 chatgpt 的咨询 循环导入概念 在Go语言中,循环导入是一个需要避免的问题。它发生在两个或更多的包彼此导入对方,形成一个导入循环,导致编译器无法处理。 例如,假设你有两个包,包A和包B。包A导入了包B,然后包B又导入了包A,这就形成了一个循环导入。在这种情况下,编译器将无法确定要首 ......
golang 代码实现判断当前时间是否在"19:00"和"24:00"这两个时间范围内
代码是 chatgpt 写的 package main import ( "fmt" "time" ) func main() { now := time.Now() // 获取今天的年月日 year, month, day := now.Date() // 创建两个新的时间点,它们在今天的 19: ......
golang 怎么使用接口中声明的方法
假设你有一个golang 的 interface,里面声明了1个函数,怎么调用这个函数 type Man interface { Eat(ctx context.Context, food string}) error } 使用方式 创建结构体实现这个接口声明的方法,然后创建该结构体对象,调用方法 ......
golang 使用redis设置分布式锁 demo
内容来自对 chatgpt 的咨询 分布式锁是在多个节点上运行的应用程序中协调工作的一种常用方法,而Redis是实现分布式锁的流行选择。以下是使用Go语言和github.com/go-redis/redis库来设置Redis分布式锁的一个简单示例: 首先,确保你已经安装了该库: go get -u ......
golang 对字符串进行base64编解码、md5 编码
内容来自对 chagpt 的咨询 一、对字符串进行 base64 编解码 base64 编码 要在Go语言中对字符串进行base64编码,你可以使用标准库中的encoding/base64包。以下是一个简单的示例: package main import ( "encoding/base64" "f ......
golang 把内容写到 csv 文件或者 xlsx 文件里
内容来自对 chatgpt 的咨询 csv 格式 csv 格式的文件使用 wps 或者 office 打开后是一个 excel 表格的形式,很容易看到表格里的数据。csv 格式跟 markdown 格式有点像,只需要按照固定的语法放置文本,保存后,用对应的渲染软件打开,就能得到想要的效果。 比如下面 ......
从一个golang 员工emp数组中,找到其中name相同的元素,把结果放到一个新数组里,代码实现
内容来自对 chatgpt 的咨询 为了找到具有相同名称的员工,并将结果放入一个新的数组中,我们可以首先使用一个映射(map)来存储每个名称及其出现的次数。然后,我们可以遍历原始数组并使用映射来判断是否有重复的名称。 以下是一个示例代码,演示如何实现这一目标: package main import ......
golang: 仅声明但未初始化的切片可以执行 for range 和 append 操作;仅声明但未初始化的 map,可以执行 for range 操作,但是不能执行添加元素操作
仅声明但未初始化的切片可以执行 for range 和 append 操作 你可以对一个未初始化的切片进行append和for range操作。 一个未初始化的切片的零值是nil,且其长度和容量都为0。你可以安全地使用append函数向其添加元素: var aaa []int64 aaa = app ......
Docker - ERROR: failed to solve: golang:latest: error getting credentials - err: exec: "docker-credential-desktop": executable file not found in $PATH, out: ``
Dockerfile: FROM golang:latest WORKDIR /app ADD . . RUN go get RUN go build -o app . CMD ["/app/app"] zzh@ZZHPC:/zdata/MyPrograms/Go/aaa$ docker build ......
Golang函数或方法传递nil值的一个坑
package t13_niu_error import ( "bytes" "fmt" "io/ioutil" "net/http" "testing" ) // 将请求获取的数据转为string,支持GET或POST请求 func BaseRequestString(requestMethod, ......
最简单的方式实现 Golang的级别日志
lo.go package lo import ( "log" "os" ) const ( TRACE int = iota DEBUG INFO WARN ERROR FATAL ) type LevelLogger struct { level int logger *log.Logger } ......
golang 实现 socks5 正向代理服务器
socks5proxy.go package main import ( "encoding/binary" "errors" "flag" "fmt" "io" "net" "strconv" ) var port int func main() { flag.IntVar(&port, "p", ......
玩一玩 golang 1.21 的 pgo 编译优化
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.下载镜像 暂时不想替换本机的 golang 版本,于是打算在容器里编译: docker pull --platform=linux/amd64 golan ......
短视频app源码,Android TextView文字,删除线以及下划线
短视频app源码,Android TextView文字,删除线以及下划线 1、删除线 TextView textview= (TextView)view.findViewById(R.id.textviewk);textview.getPaint().setFlags(Paint.STRIKE_TH ......
GOLANG:调用delphi7编写的dll
0. delphi对winapi有很强的封装,使其更易用。 1. delphi声明dll内函数 需要尽量以此方式: procedure test(data: pchar; count: integer);stdcall; 2.golang 调用方法: str := []byte("abcdedf") ......
Golang 反射 && 单元测试
一.反射 1 package reflecttest 2 3 import ( 4 "fmt" 5 "reflect" 6 ) 7 8 // 语法:const [name] [type] = [value] 9 // const 只能修饰int\float\string\bool作为常量 10 co ......
golang fyne 添加系统托盘
环境:go fyne 要求:电脑右下方添加系统托盘,点击图标显示托盘菜单 效果: 实现: 1 package main 2 3 import ( 4 "fyne.io/fyne/v2" 5 "fyne.io/fyne/v2/app" 6 "fyne.io/fyne/v2/widget" 7 "fyn ......
golang fyne 自定义窗口、托盘图标 myApp.SetIcon(icon)
环境:go fyne 要求:更改窗口和托盘中的图标。如果添加了托盘托盘的图标也会更新 注意:更改图标的代码要在创建窗口和托盘的前面 效果: 文件位置: 实现: 1 package main 2 3 import ( 4 "fyne.io/fyne/v2" 5 "fyne.io/fyne/v2/app ......
golang fyne 创建两个窗口,窗口居中。点击按钮显示第二个窗口 myApp.NewWindow("new")
环境:go fyne 实现:在窗口的按钮中,点击按钮弹出第二窗口,并且窗口居中 注意:创建的第一个窗口和第二个窗口必须是通过同一个 myApp := app.New()创建出来的 效果: 实现: 1 package main 2 3 import ( 4 "fmt" 5 6 "fyne.io/fyn ......
直播app开发搭建,element plus中的el-link如何去掉下划线
直播app开发搭建,element plus中的el-link如何去掉下划线 解决方法:在el-link中增加 :underline='false' <el-table-column property="name" label="名称" show-overflow-tooltip> <templat ......
golang-goroutine
常见的并发模型 1.多线程 每个线程一次处理一个请求,线程越多可并发处理的请求数就越多,但是在高并发下,多线程开销会比较大。 2.协程 无需抢占式的调度,开销小,可以有效的提高线程的并发性,从而避免了线程的缺点的部分,线程基础上的进一步抽象 3.基于异步回调的IO模型 说一个熟悉的,比如nginx使 ......
golang项目搭建笔记-cobra
cobra介绍 GitHub地址 cobra中,一个命令主要概念为command,arguement,flag,可以理解为谓语、宾语、状语 格式为APPNAME COMMAND ARG --FLAG,例如: git clone URL --bare 项目搭建 cobra提供了非常方便的工具cobra ......
Golang 基础语法的使用
1 package customer 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "os" 7 ) 8 9 type customer struct { 10 Name string 11 Sex string 12 Age int 13 Phone strin ......
Golang 获取命令行携带的参数丶文件操作
一.获取命令行携带的参数 1 /* 获取命令执行携带的参数 */ 2 func TestGetCMDParameter() { 3 /* 4 os.Args就是运行时携带的参数. 5 os.Args是一个切片 6 第一个是主程序的名称 7 8 测试: 9 1.编译 go buil main.go 1 ......
Golang interface接口
一.interface接口 1 package student 2 3 import ( 4 "fmt" 5 ) 6 7 /* 8 接口: 9 10 1.接口本身不能创建实例,但是可以指向一个实现了该接口的自定义类型的变量 11 2.接口中所有的方法都没有方法体,即没有实现方法 12 3.必须将接口 ......
golang工具值generate
示例: 大家经常碰到命名错误码、状态码的同时,又要同步写码对应的翻译,有没有感觉很无聊。这里举一个例子: package main import "fmt" // 定义错误码 const ( ERR_CODE_OK = 0 // OK ERR_CODE_INVALID_PARAMS = 1 ......
golang 结构体带*号和不带的区别
先说结论 就是指针引用和非指针引用 调用没啥区别的 golang 会做自动转换 将指针转为非指针调用 代码演示 package main import "fmt" type T struct { Name string } func (p *T) SetName(name string) { p.N ......
个人微信API对接-Golang版本
golang版个人微信号API, 突破登录限制,类似开发公众号一样,开发个人微信号 微信机器人😈,利用微信号完成一些功能的定制化开发⭐ 模块简单易用,易于扩展 支持定制化开发,如日志记录,自动回复 突破登录限制📣 无需重复扫码登录 支持多个微信号同时登陆 安装 go get github.com ......
Golang map集合丶struct结构体
一.map集合 1 // map键值对集合 2 func testMap() { 3 // Map的定义: var 变量名 map[keytType]valueType 4 // 细节: 5 // 1.key唯一 6 // 2.map是引用 7 // 3.直接遍历map是无序的 8 // 4.map ......