自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵凯月的博客

技术爱好者一枚

  • 博客(492)
  • 收藏
  • 关注

原创 关于出书这件事

推荐

2022-12-05 10:06:41 259

原创 Go中json的解析和反解析

在解析过程中,反向解析不包含其中的部分参数也不会报错,这是需要注意的一点。

2024-05-09 22:52:17 145

转载 go中函数高级用法:匿名、闭包及高阶函数

有了闭包后函数就成为了一个变量的值,只要变量没被释放,函数就会一直处于存活并独享的状态,因此可以后期更改函数中变量的值(因为这样就不会被go给回收内存了,会一直缓存在那里)。然后在下面声明的函数printToStd的签名与Printer的是一致的,因此前者是后者的一个实现,即使它们的名称以及有的结果名称是不同的。只要两个函数的参数列表和结果列表中的元素顺序及其类型是一致的,我们就可以说它们是一样的函数,或者说是实现了同一个函数类型的函数。只要满足了其中任意一个特点,我们就可以说这个函数是一个高阶函数。

2024-05-09 22:45:40 11

转载 安装node的版本问题记录

在服务器中离线安装node.js环境,下载官网下载最新的Linux 二进制文件 (x64),node-v16.16.0-linux-x64.tar.xz。通过命令strings /lib/i386-linux-gnu/libc.so.6 | grep ^GLIBC查看当前系统glibc的版本。是因为高版本的nodejs需要更高版本的glibc编译环境,目前我的服务器对应的glibc最高只能支持到2.27。贸然更新glibc的版本存在较大的风险,所以建议降低node.js的版本,去兼容低版本glibc。

2024-05-05 22:44:34 41

转载 linux——nm命令:查看符号表

nm 命令显示关于指定 File 中符号的信息,文件可以是对象文件、可执行文件或对象文件库。所谓符号,通常指定义出的函数,全局变量等等。A 在每个符号信息的前面打印所在对象文件名称;C 输出demangle过了的符号名称;D 打印动态符号;l 使用对象文件中的调试信息打印出所在源文件及行号;n 按照地址/符号值来排序;u 打印出那些未定义的符号;A 该符号的值在今后的链接中将不再改变;B 该符号放在BSS段中,通常是那些未初始化的全局变量;

2024-03-22 23:25:04 234

原创 binary.write 和 binary.read

此包实现了对数据与byte之间的转换,以及varint的编解码。2、binary为我们开发者提供了哪些内容?二、binary为我们开发者提供了哪些内容?转化成二进制格式与原本数据转字符串相比会更节省空间。golang中encoding/binary包。1、golang包中的binary包是什么?一、golang包中的binary包是什么?uvarint和varint的编解码。3、编解码有哪几种方法?数据的byte序列化转换。

2024-03-17 12:17:28 584

转载 go语言---copy()函数

【代码】go语言---copy()函数。

2024-03-17 12:01:02 126

原创 ranger的使用

注意:如果要使用~/.config/ranger目录下的配置生效,需要把。.开头主要是文件过滤,后面跟一些过滤规则筛选出满足条件的文件或目录。g开头主要是目录跳转,后面可以跟一些参数指定要跳转的位置。可以使用以下命令复制默认配置文件到这个目录。z开头主要是设置,后面跟一些具体要设置什么。s开头主要是排序,后面跟一些排序规则。启动之后ranger会创建一个目录。这些快捷键都是与vim的操作一样。变量设置为false。

2024-03-06 23:53:43 377

转载 git fsck 恢复误删 stash 贮藏的数据

可以通过 git show 来查看是否是自己想要的代码,排列顺序是最新的在最上面。stash 之后的内容没有应用到代码上就直接给删除了。找到想要的代码 id 后,执行 git merge 来恢复代码。执行完之后会得到很多 id ,其中会标明哪个是 commit。

2024-02-23 22:36:27 139

原创 git 错误:对象文件为空object-file-is-empty

我们可以看到内容,是好着的。是当前所使用的分支的名字。

2024-02-23 20:49:58 603

原创 Git 提交指定文件的部分修改

被分配了两个Bug,已经改好了A, 正在处理B, 但被要求先提交A, AB有修改在同一文件里,那么问题来了:Git 如何提交文件的部分修改?

2023-12-15 00:46:40 598

原创 go的结构体作为返回值

2、getinfo1() 结构体指针 即使在函数外有实体也会报错崩溃,是因为此时给返回的结构体指针声明了一个结构体指针,但这个结构体指针没有实体,在赋值时会报错。1、getinfo() 结构体指针 需要在返回的结构体在函数外有实体。3、getinfo2() 结构体作为返回值 外层可以有实体也可以没有。

2023-12-12 22:29:41 691

原创 golang函数的返回值

函数可以有0或多个返回值,返回值需要指定数据类型,返回值通过return关键字来指定。return可以有参数,也可以没有参数,这些返回值可以有名称,也可以没有名称。go中的函数可以有多个返回值。return关键字中指定了参数时,返回值可以不用名称。如果return省略参数,则返回值部分必须带名称当返回值有名称时,必须使用括号包围,逗号分隔,即使只有一个返回值但即使返回值命名了,return中也可以强制指定其它返回值的名称,也就是说return的优先级更高。

2023-12-01 22:41:17 866

原创 Go打印行号和文件名

实参skip为上溯的栈帧数,0表示Caller的调用者(Caller所在的调用栈)。函数的返回值为调用栈标识符、带路径的完整文件名、该调用在文件中的行号。FuncForPC返回一个表示调用栈标识符pc对应的调用栈的*Func;如果该调用栈标识符没有对应的调用栈,函数会返回nil。skip == 1,跳过当前函数栈,返回上层调用者调用当前函数时的PC,文件名,所在行。skip == 0,不跳过函数栈,返回当前函数PC,文件名,所在行。根据返回的调用栈标识符pc,我们可以获取对应的函数名。

2023-11-28 22:57:48 862

原创 Go中各种newreader和newbuffer的使用

1、使用的newbuffer,缓存区是用来存储内容的,并不能确定具体需要的内存大小,因此newbuffer的参数为不固定的[]byte{};2、使用的newreader,缓存区应该是有数值的,此时是用来读取其中的内容。

2023-11-20 23:33:35 709

转载 Go解析xml文件

【代码】Go解析xml文件。

2023-11-17 23:33:59 134

转载 SOAP-Golang对接WebService服务实战

SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息的简单的协议,是一个基于XML的协议,它包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例;SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;

2023-11-17 22:28:53 618

原创 Go解析soap数据和修改其中数据

【代码】Go解析soap数据和修改其中数据。

2023-11-17 22:23:50 633

转载 go编码处理-json、xml、gob、纯文本

如果XML元素包含一个子元素,其名称匹配格式为"a"或"a>b>c"的标签的前缀,反序列化会深入XML结构中寻找具有指定名称的元素,并将最后端的元素映射到该标签所在的结构体字段。如果XML元素的属性的名字匹配某个标签",attr"为字段的字段名,或者匹配某个标签为"name,attr"的字段的标签名,Unmarshal会将该属性的值写入该字段。​ Go语言内建对 JSON 的支持,使用内置的 encoding/json 标准库,开发人员可以轻松使用Go程序生成和解析 JSON 格式的数据。

2023-11-17 20:51:28 92

转载 Go将16进制(HEX)编码的字符串转换为16进制的值

Go将16进制(HEX)编码的字符串转换为16进制的数据由于项目中有对数据格式的要求,输入的数据为16进制的字符串,最终需要保持为16进制的数据,作为笔记来记录一下。经过查询,发现encoding/hex包中的func DecodeString(s string) ([]byte, error)和func EncodeToString(src []byte) string 函数可以进行相互转换,而且很容易实现此功能。

2023-11-15 20:28:29 597

转载 Go语言中一个fallthrough的使用问题

这时候,如果你使用vscode来开发,会提示一个红色的波浪线,这就表明代码是有问题的,我们看这个提示,fallthrough statement out of place,翻译过来就是fallthrough这个声明不合适,那和刚才的示例不一样了啊。相信学习Go语言的小伙伴对fallthrough这个关键词并不陌生,与Java、PHP等语言不同,Go语言的switch case语句不需要在每个case后面添加break语句,默认在执行完case之后,会自动break,从switch语句中转义出来。

2023-11-09 22:39:38 130

转载 xxd命令转换与回转16进制数据

【代码】xxd命令转换与回转16进制数据。

2023-11-09 22:35:28 264 1

原创 vim以16进制打开和编辑文件

修改十六进制内容是不会导致右侧字符改变;其实右侧的文本只是给你参考的,修改了再将十六进制转换回二进制,这些修改都会忽略。先用 vim 以二进制格式打开需要编辑或查看的文件,不采用 - b 参数有时会导致转换错误,详见分隔线后部分。现在就可以对待普通文本一样查看和编辑二进制文件了。然后用 xxd 把文件转换成十六进制格式。vim以16进制打开和编辑文件。只有十六进制的修改会生效。

2023-11-09 21:58:36 1156

转载 go语言网络编程TCP和UDP

UDP协议(User Datagram Protocol)中文名称是用户数据报协议,是OSI(Open System Interconnection,开放式系统互联)参考模型中一种无连接的传输层协议,不需要建立连接就能直接进行数据发送和接收,是不可靠的、没有时序的通信,但是UDP协议的实时性比较好,通常用于视频直播等场景。一个TCP服务端可以同时连接很多个客户端,多个客户端可以同时像服务端发送消息,go语言中我们也可以使用线程来处理模拟多个客户端发送服务端处理请求。1 建立与服务端的链接。

2023-11-05 13:04:42 273

原创 【六、http】go的http的客户端重定向

客户浏览器发送http请求----》web服务器接受后发送302状态码响应及对应新的location给客户浏览器–》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址----》服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。

2023-11-03 23:49:16 793

原创 【五、http】go的http的信息提交(表单,json,上传文件)

uploadfile1 中的内容为 abc。uploadfile2 中的内容为 abc。

2023-11-03 21:57:56 738

原创 【四、http】go的http的文件下载

修改main函数中的url地址,可以下载到本地。从后台可以看到图片的url地址。这里以一张图片为例子。

2023-11-03 21:02:45 1231

原创 【三、http】go的http的响应信息

可以看到具体的响应信息。

2023-11-03 20:26:46 439

原创 【二、http】go的http基本请求设置(设置查询参数、定制请求头)get和post类似

可以看到其中头部信息已经打印出自己增加的部分内容。

2023-11-03 20:13:36 1162

原创 【一、http】go的http基本请求方法

其中地址http://httpbin.org 是国外提供的一个验证http请求的网址,可以通过该网站进行测试。1、http的基本请求。

2023-11-03 20:01:58 1101

转载 Go 语言 multipart 库解析

这篇文章作为上一篇文章的实践篇,在掌握了基本的 HTTP 中的这种格式的请求之后,现在通过 Go 语言的官方multipart库来深入理解如何发送和处理格式的请求先来看一段客户端请求的代码和一段服务端处理请求的代码。

2023-10-31 21:29:54 478

原创 Linux curl命令最全详解

https://blog.csdn.net/angle_chen123/article/details/120675472

2023-10-30 22:18:27 314

原创 golang发送get请求的各种操作:自定义header请求头、带cookie请求、channel并发请求

/ 可以设置请求头 添加cookieif err!= nil {// 添加请求头// 添加cookie// 发送请求if err!= nil {}// 可以设置请求头 添加cookieif err!= nil {// 添加请求头// 添加cookie// 发送请求if err!= nil {接收文件–ioutil.WriteFile// ioutil.ReadAll(resp.Body) 先将所有的响应读出来放到内存中。

2023-10-30 22:16:11 559

转载 golang https的单向认证,双向认证

【代码】golang https的单向认证,双向认证。

2023-10-30 22:11:11 375

转载 Golang忽略HTTPS证书

通过设置TLSClientConfig: &tls.Config{InsecureSkipVerify: true},来取消对HTTPS的证书验证,以处理x509: certificate signed by unknown authority。

2023-10-30 22:04:46 349

转载 【Go】——Golang处理HTTP/HTTPS请求

我们可以这样认为: 一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 查,改,增,删 4个操作。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。1.Get是最常用的方法,通常用于请求服务器发送某个资源,而且应该是安全的和幂等的。

2023-10-30 22:03:09 862

转载 解析SSL单向认证和双向认证

双向认证是指在SSL握手过程中将同时验证客户端和服务器的身份,所以双向认证SSL证书至少包括两个或两个以上的证书,一个是服务器证书,另一个或多个是客户端证书(即个人认证证书)。

2023-10-30 21:36:33 203

转载 Go中的接口赋值

接口赋值在go语言中分为如下两种情况1、将对象实例赋值给接口2、将一个接口赋值给另一个接口。

2023-10-18 21:39:15 147

转载 go中出现Missing type in composite literal

上面代码在编辑器中会提示这样的错误:Reports composite literals with incompatible types and values。原因在于定义的Person结构体的Favourite字段的类型是字符串切片,但是在main函数中使用时,直接传入了一个结构体对象。两者的类型不相同,所以提示不兼容的类型。对于一些复合数据类型,在使用时应该声明其类型信息,不然Go无法自动判别。因此上面的错误示例只需要改变person初始化时的类型声明即可。

2023-10-18 20:49:35 180

转载 go中出现Missing type in composite literal

上面代码在编辑器中会提示这样的错误:Reports composite literals with incompatible types and values。原因在于定义的Person结构体的Favourite字段的类型是字符串切片,但是在main函数中使用时,直接传入了一个结构体对象。两者的类型不相同,所以提示不兼容的类型。对于一些复合数据类型,在使用时应该声明其类型信息,不然Go无法自动判别。因此上面的错误示例只需要改变person初始化时的类型声明即可。

2023-10-18 20:44:52 118

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除