一、 VSCode 开发环境
虚拟机总莫名奇妙卡着,改用windows环境,用vscode打开刚才的test.go文件,会自动下载想关插件,
1、选择目录,自动生成配置文件,vscode可以选择部分代码片段执行,也可以直接执行。
选择代码片段运行时会生成一个新的go文件
2、 调试时增加调试配置文件
{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Launch file", "type": "go", "request": "launch", "mode": "debug", "program": "${file}" } ] }
3、调试效果
怎么显示为16进制,没找到方法。
以下内容转自:https://www.cnblogs.com/oceanran/p/12159751.html
vscode变量类型:
1、变量要有明确的类型
2、var name type (var 是声明变量的关键字,name 是变量名,type 是变量的类型)
3、var a ,b *int (声明两个都为指针的变量)
4、go语言的类型:
- bool
- string
- int、int8、int16、int32、int64
- uint、uint8、uint16、uint32、uint64、uintptr
- byte // uint8 的别名
- rune // int32 的别名 代表一个 Unicode 码
- float32、float64
- complex64、complex128
5、go语言声明的简洁格式 名字 := 表达式 比如:a,s:=1, "abc" (定义变量,同时显式初始化、不能提供数据类型、只能用在函数内部。 )
6、当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等
7、变量或函数名称首字母大写表示其他包可调用
8、变量赋初值:var 变量名 类型 = 表达式 比如:var hp int = 100
9、短变量声明 比如:hp := 100
10、hp 已经被声明过,但依然使用:=
时编译器会报错(下面语句报错:no new variables on left side of :=)
- // 声明 hp 变量
- var hp int
- // 再次声明并赋值
- hp := 10
11、注意:在多个短变量声明和赋值中,至少有一个新声明的变量出现在左值中,即便其他变量名可能是重复声明的,编译器也不会报错,代码如下:
- conn, err := net.Dial("tcp", "127.0.0.1:8080")
- conn2, err := net.Dial("tcp", "127.0.0.1:8080")
12、匿名变量:下画线“_”,但任何赋给这个标识符的值都将被抛弃
13、特殊字符
- :换行符
- :回车符
- :tab 键
- u 或 U:Unicode 字符
- \:反斜杠自身
二、其他开发环境
由于Vscode没有找到显示16进制的方法,这样在调试某些程序时比较麻烦,尝试使用SbuLimeTest环境
1、打开test.go文件
2、Ctrl+shift+p,install package
3、安装go build
4、再打开Package Folder目录
git clone http://github.com/DisposaBoy/GoSublime.git
5、重启,即可
编译效果
6、作为一个轻量级编辑工具,看程序模式使用的GDB调试工具,估计也没有16进制查看功能,就不再测试了。
7、LiteIde 和 GoLand安装后都是即用的
SubLime Test和LiteIde比较起来,不如LiteIde那么功能强大,简单好用。LIteIde下载地址
http://liteide.org/cn/
LIteIde编译时要勾上自定义 Go111MODULE
调试效果
8、不愧是IDEA公司,功能最强的还是IDEA 的GoLand,唯一 一个带16进制查看功能的开发工具。下载地址:
https://www.jetbrains.com/zh-cn/go/download/download-thanks.html?platform=windows
不过这个挺占内存,能达到将近1个G
9、在Go1.14版本之后,都推荐使用go mod
模式来管理依赖环境了,也不再强制我们把代码必须写在GOPATH
下面的src目录了,你可以在你电脑的任意位置编写Go代码。(网上有些教程适用于1.11版本之前。),所以项目建在哪都可以。但是docker Build时还是要放到一起。