日常遇到的问题总结
1、go语言依赖安装失败
我们可以先设置代理来提高网上避免响应超时
然后可能还是会安装失败
这个时候查看go环境
go env -w GOSUMDB=off 执行这个之后就可以解决以上出现的问题
如果设置了 GOSUMDB 为 “off” 或者使用 go get 的时候启用了-insecure
参数,Go 不会去对下载的依赖包做安全校验,存在一定的安全隐患,所以给大家推荐接下来的环境变量。
GOSUMDB相当于一个依赖包的安装保护吧
2、安全组和宝塔面板安全组要开端口
3、程序得不到目标结果
程序编写没有问题,并且可以运行,这个时候我们需要查询一下是不是因为工作台的原因,可能在同一个工作台下我们的文件夹命名相同导致我们引用包时出现引用了另一个包的文件夹导致程序运行达不到目标结果
4.程序运行失败
#要生成Go语言可执行程序,必须要有名为main的package包,且在该包下必须有且只有一个main函数(package main)
package command-line-arguments is not a main package
5.声明变量或者包名经量不适用关键字。
6.特别注意变量的作用域问题
7.linux命令使用要注意大小写问题
8.post和bindjson 要连用
9.结构体名和内部变量名的大小写问题
10.在客户端post请求不能直接拿到后端的数据
GET
GET方法请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据.
HEAD
HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体.
POST
POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用.
PUT
PUT方法用请求有效载荷替换目标资源的所有当前表示。
DELETE
DELETE方法删除指定的资源。
CONNECT
CONNECT方法建立一个到由目标资源标识的服务器的隧道。
OPTIONS
OPTIONS方法用于描述目标资源的通信选项。
TRACE
TRACE方法沿着到目标资源的路径执行一个消息环回测试。
PATCH
PATCH方法用于对资源应用部分修改。
以上摘自https://developer.mozilla.org/ 对于HTTP 请求方法的介绍。
通过以上的介绍,我们可以看到,其实HTTP的规范,对这些方法的用途都有了明确的定义,而我们使用的过程中,也尽可能的遵循这些定义,这样我们在开发中才可以更好的协作。对于以上请求方法,目前的大部分浏览器都支持。
RESTful API 规范
其实我们应该可以发现,我们开发的一个个Web应用服务或者程序,其实就是对服务器的资源的CRUD(创建、检索、更新和删除),所以 RESTful API 的规范建议我们使用特定的HTTP方法来对服务器上的资源进行操作。
在 RESTful API 中,使用的主要是以下五种HTTP方法:
GET,表示读取服务器上的资源
POST,表示在服务器上创建资源
PUT,表示更新或者替换服务器上的资源
DELETE,表示删除服务器上的资源
PATCH,表示更新/修改资源的一部分
11.go.mod 最上面是有文件夹限制的不能直接拖动,这个管理不同文件夹下面包的依赖。
12.虚拟机靶机启动不起来的原因可能是网卡的原因,可以先ping一下看看能不能ping通,不能就重启vm网卡。
13.(go)包外通过调用这个首字母大写的结构体,间接的调用这个首字母小写的结构体的内容(前提必须是参数首字母大写)
14.(session 的使用)
15.在值传递的过程中发现没有值的输出,问题可能出现在以下的过程中:
1.结构体声明的时候没有加入tag。
2.非引用型变量地址传递错误。
15.在值传递的过程中发现没有值的输出,问题可能出现在以下的过程中:
1.结构体声明的时候没有加入tag。
2.非引用型变量地址传递错误。
3.对应的结构体和声明的tag不一致。注意:这种情况经常出现在网上视频的学习过程中。