go语言零碎笔记
Posted lishuangquan1987
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言零碎笔记相关的知识,希望对你有一定的参考价值。
net拨号时,如果服务端没打开,返回的net.Conn对象为空
t, _ := net.Dial("tcp", "127.0.0.1:12345")
fmt.Println(t==nil)
fmt.Printf("关闭前:%v", t)
t.Close()
fmt.Printf("关闭后:%v", t)
time.Sleep(time.Second * 5)
fmt.Printf("关闭后,休眠5s:%v", t)
当服务端:127.0.0.1:12345
没打开时,打印如下:
可以看到t==nil
为true
,所以小心对net.Conn的方法调用
vscode调试go的配置文件
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
// "program": "$fileDirname"
"program": "$workspaceFolder/main.go",
]
cgo: C compiler “gcc” not found: exec
系统:Win11 64位。 go 1.18.1
当引用了gorm操作Sqlite时,go build报如下错误:
cgo: C compiler “gcc” not found: exec: “gcc”: executable file not found in %PATH%
解决办法:
- 参考文章:
https://blog.csdn.net/weixin_42586723/article/details/121057647 - 具体过程:
- 到网址:https://sourceforge.net/projects/mingw-w64/files/
下载x86_64-win32-seh
:
- 解压下载的文件:
x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z
- 将解压后的
bin
的绝对路径加入环境变量Path
例如我的bin绝对路径是:D:\\Download\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin
,我需要将它加入到Path环境变量:
4. 验证是否安装好
打开终端,输入gcc -v
:
4. 编译go
go build
注意:如果安装gcc之前打开了VSCode没有关闭过,需要关闭后再打开才能编译不报错
Windows下编译go到Centos运行
1.VSCode新建终端:
2.从PowerShell
切换到Command Prompt
注意:在Powershell中不能这样编译go,会不成功
3.依次敲入如下命令:
set GOOS=linux
set GOARCH=amd64
go build
就可以看到生成了一个文件
注意:只要此终端Command Prompt
没有变比,以后只需要输入go build就行,如果关闭之后重新打开,则需要重新设置GOOS
和GOARCH
以上是关于go语言零碎笔记的主要内容,如果未能解决你的问题,请参考以下文章