Go
文章平均质量分 60
小生听雨园
Fly Higher
展开
-
linux命令全部失效+无法登录 极限操作
当linux命令全部失效 外加无法登录, 您将如何拯救,是抛弃,重装系统还是不离不弃原创 2022-11-09 22:48:11 · 1052 阅读 · 0 评论 -
kali超详细安装CUDA,安装java,安装go, docker
开机之后就会惊奇的发现搜狗输入法没反应,点击右上角的键盘图标才会有反应,但要输入的时候又没有反应了,而且无法切换输入法,也无法激活输入法, (而且输入法默认配置的是搜狗啊,但就是用不了)卸载重装也不好使。零件买回来组装了一下,先是装了win10,更新了显卡驱动,用娱乐大师跑分了一下,2020以后,他会根据安装系统地域自动选择比较快的源。在输入,就会发现全是乱码,按网上解决办法,没有用。版本之前一个重要的环境变量配置,是存放。这个没什么可讲的吧,解压,然后放到。的时候是没有问题的,在添加完。原创 2022-09-12 17:06:41 · 1734 阅读 · 2 评论 -
Gin POST前后端交互
欢迎访问我的博客,更多内容点击这里获取表单数据 单个name核心:c.PostForm("username")DefaultPostForm如果没有获取到则使用指定的默认值contxt.DefaultPostForm("username", "hallen") 前端<form action="/test" method="post"> <input type="text" name="username"><br> <input ty原创 2022-05-03 19:30:34 · 643 阅读 · 0 评论 -
Go routine线程池&&并发场景
欢迎来到我的博客,更多文章点击这里并发,并行,串行部分参考节选自CSDN博客:通俗理解:吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。 (不一定是同时的)吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。普通解释:并发:交替做不同事情的能力并行:同时做不同事情的能力专业术语:并发:不同的代码块交替执行并行:不同的代码块.原创 2022-04-20 15:54:51 · 339 阅读 · 0 评论 -
Go-multipart/form-data请求抓包详解
欢迎来到我的博客背景本文有一个疑问一直没有解决,诚心请教,有知道的大佬可以留言一下,不胜感激,点击这里跳转最近在写一个图床小工具,整合读写剪贴板中的图像读取到内存添加水印,(可供选择的文字水印和图像水印)将图像通过协议发送到图床,(目前是对接的自己的图床)遇到的难点从剪贴板中读取图像保存剪贴板中的图像multipart/form-data发送multipart/form-data``code以及抓包代理配置代理这样配置代理,让代码请求走抓包软件,方便分析请求// htt原创 2022-04-08 12:47:54 · 1704 阅读 · 2 评论 -
--go_out: protoc-gen-go: Plugin failed with status code 1.
更多博客见-----小生听雨园---------更多博客见-----小生听雨园---------见具体错误信息proto代码如下syntax = "proto3";package helloworld;message Student{ string tag = 1; message Tmp{ message Line{ string line_name = 1; int32 status = 2; int32 ss = 3; int原创 2022-03-17 22:11:56 · 3930 阅读 · 0 评论 -
千万数据量秒级查询
**详情见我的博客小生博客**双链表应用——千万数据量秒级查询原理利用双链表,将数据全部读入内存,将读到的数据头插插入双链表,因为链表头插效率高然后在内存中检索数据,检索到就输出代码片段// 读取文件file,_ := os.Open(path) // 打开文件br := bufio.NewReader(file) // 读出文件对象for{ line,_,end := br.ReadLine() if end == io.EOF{ break //文件结束跳出循环原创 2021-11-30 23:30:05 · 1274 阅读 · 0 评论 -
Go项目实现优雅关机与平滑重启
Demo快速上手优雅关机package mainimport ( "context" "github.com/gin-gonic/gin" "log" "net/http" "os" "os/signal" "syscall" "time")// 实现优雅关机和平滑重启func main() { router := gin.Default() router.GET("/", func(c *gin.Context) { // 这个10秒的延时。是为了演示操作方便,实际原创 2021-11-30 23:26:26 · 968 阅读 · 2 评论 -
Viper——Go配置一站式解决方案
安装go get github.com/spf13/viperDemo快速上手func main() { // 设置默认值 viper.SetDefault("fileDir", "./") viper.SetConfigName("config") // 配置文件名称中没有扩展名 viper.SetConfigType("yaml") // 如果配置文件没有扩展名,这需要配置此项 viper.AddConfigPath("./")原创 2021-11-30 23:25:04 · 1642 阅读 · 0 评论 -
内燃机设计课设 过量空气系数与温度表对应关系自动查询
最近几个星期一直在做内燃机设计的课设,学习进度很慢,有几天甚至停了,虽说现在也没有做完!!!!!!!!!!!!!!!!!!!!!!!大概是这个表, 给定过量空气系数,表中没有的数据要用插值法算,一般要用三次插值法,我是想的挺头秃的,还好整出来 了。我是用的二维数组,然后结构体存每一个节点的数据,map存一列过量空气系数相同的结构体, 然后查找的时候可以断言后用索引.value直接找到值。源码的话,过一段时间更新在gitee上吧。...原创 2021-11-07 00:01:13 · 369 阅读 · 0 评论 -
Go学习的一点心得
比如说下面这段程序for i, tl := 0, len(t); i < tl; i++{ if t[i].method != httpMethod{ continue }}初始化的时候就赋值了tl, tl 等于 t 的长度,这样避免了每次循环动态的计算长度,减少了内存消耗。比下面这样写好for i := 0; i< len(t); i++{}...原创 2021-10-31 14:12:11 · 211 阅读 · 0 评论 -
Go 结构体指针初始化
今天遇到一个这样的问题同样都是查询,上面的就不需要new, 而下面的就需要new请教了一下大佬,下面的是一个结构体指针,需要分配内存才能使用在别的地方也找到了印证,(尽管之前博客提到过这个问题,)官方文档// The new built-in function allocates memory. The first argument is a type,// not a value, and the value returned is a pointer to a newly// all原创 2021-10-20 22:48:35 · 2066 阅读 · 0 评论 -
Go基础——网络编程
16网络编程16.1tcpclient建立与服务端的链接进行数据收发关闭链接func main(){ //与服务端建立连接 conn, err := net.Dial("tcp", "127.0.0.1:20000") if err != nil{ fmt.Printf("dial failed:%v\n", err) return } input := bufio.NewReader(os.Stdin) for{ s, err := input.ReadString原创 2021-10-11 21:56:18 · 81 阅读 · 0 评论 -
Go基础——反射和并发编程goroutine
14反射在Go语言中反射的相关功能由内置的reflect包提供,任意接口值在反射中都可以理解为由reflect.Type和reflect.Value两部分组成,并且reflect包提供了reflect.TypeOf和reflect.ValueOf两个函数来获取任意对象的Value和Type。在反射中关于类型还划分为两种:类型(Type)和种类(Kind)。因为在Go语言中我们可以使用type关键字构造很多自定义类型,而种类(Kind)就是指底层的类型,但在反射中,当需要区分指针、结构体等大品种的类原创 2021-10-11 21:54:17 · 124 阅读 · 0 评论 -
Go基础——包管理和接口
12.包一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包。一个文件夹下面直接包含的文件只能归属一个package,同样一个package的文件不能在多个文件夹下。包名可以不和文件夹的名字一样,包名不能包含 - 符号。包名为main的包为应用程序的入口包,这种包编译后会得到一个可执行文件,而编译不包含main包的源代码则不会得到可执行文件。变量名首字母为大写则,它是共有的,对外可见12.1不在同一个项目下src原创 2021-10-09 21:13:30 · 228 阅读 · 0 评论 -
Go基础——结构体
11.结构体11.1自定义类型自定义类型是定义了一个全新的类型。我们可以基于内置的基本类型定义,也可以通过struct定义type newint int通过type关键字的定义,newint就是一种新的类型,它具有int一切的特性。11.2类型别名type byte = uint8type rune = int32区别:type newint inttype nwt = intfunc main() { var a newint var b nwt fmt.Printf(原创 2021-10-09 21:08:19 · 207 阅读 · 0 评论 -
Go基础——指针
10.指针go语言是值传递, 例子如下func main() { // a := 100 // b := &a // 取a地址,将指针保存到b中 // fmt.Printf("type of b:%T\n", b) // c := b // 根据指针取值 // fmt.Printf("type of c:%T\n", c) // fmt.Printf("value of c:%v\n", c) x := 10 changeValue(x) fmt.Println("x:",原创 2021-10-09 21:05:32 · 126 阅读 · 0 评论 -
Go基础——map与函数
8.mapkey-value, 无序,引用类型引用类型必须初始化以后才能使用,只是var定义了,并不能直接使用8.1定义map[KeyType]ValueTypemap类型的变量默认值是nil需要使用make来分配内存make(map[KeyType]ValueType, [cap])cap表示map的容量,该参数不是必须的,但应该在初始化的时候就为其制定一个合适的值score := make(map[string]int, 8)score["python"] = 1score["j原创 2021-10-03 21:56:24 · 358 阅读 · 0 评论 -
Go基础——数组和切片(一个固定长度一个可变长度)
6.数组1.定义数组var 数组变量名 [元素数量]Tvar aa [2]int2.初始化数组2.1使用初始化列表 var aa [2]int var aaa = [2]int{} var testArray = [3]int{1, 2, 3} var strArray = [3]string{"akamai", "geetest", "ali"} fmt.Println(aa) fmt.Println(testArray) fmt.Println(strArray)原创 2021-09-27 20:26:12 · 3220 阅读 · 0 评论 -
Go基础——流程控制for, if, switch, goto
5.流程控制5.1if语句score := 91if score >=90 { fmt.Println("90+") } else if score < 80 { fmt.Println("80+") } else { fmt.Println("harder") }}这上下两种写法, 有区别, 和其他语言一样,可以想象,下面的写法中的score不能被外面引用if score := 91; score >= 90 { fmt.Println("90+"原创 2021-09-27 20:24:33 · 137 阅读 · 0 评论 -
Go基础——数据类型和运算符
3.数据类型go基本数据类型3.1进制转换十进制打印为2进制 // 十进制打印为2进制 n := 10 fmt.Printf("%b\n", n) fmt.Printf("%d\n", n) //八进制 m := 075 //八进制 fmt.Printf("%d\n", m) //十进制 fmt.Printf("%o\n", m) //十六进制 f := 0xff fmt.Print(f) fmt.Printf("%x\n", f)原创 2021-09-26 20:55:54 · 124 阅读 · 0 评论 -
GO基础——变量以及常量
变量1.1标识符与关键字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range原创 2021-09-26 20:42:14 · 99 阅读 · 0 评论 -
Go开发环境配置(vscode)
下载https://golang.google.cn/dl/下载程序,并执行一路下一步即可安装完之后,打开cmd运行go version说明安装成功修改环境变量打开cmd执行go env -w GO111MODULE=on修改源go env -w GOPROXY=https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,https://goproxy.io,direct下图引用李文周大佬的博客https://www.liwenz原创 2021-09-25 15:29:22 · 497 阅读 · 0 评论