侧边栏壁纸
博主头像
Tony's Blog博主等级

行动起来,coding

  • 累计撰写 83 篇文章
  • 累计创建 58 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录
go

go语言零碎笔记

Tony
2024-02-23 / 0 评论 / 0 点赞 / 20 阅读 / 6555 字

本文链接: https://blog.csdn.net/lishuangquan1987/article/details/124349282

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 没打开时,打印如下:
1-mdty.png

可以看到 t==niltrue,所以小心对net.Conn的方法调用

vscode调试go的配置文件

2-bogf.png

{
    // 使用 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

  • 具体过程:
  1. 到网址:https://sourceforge.net/projects/mingw-w64/files/

    下载 x86_64-win32-seh:

3-qyyz.png
2. 解压下载的文件: x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z

4-txiv.png
3. 将解压后的 bin 的绝对路径加入环境变量 Path

例如我的bin绝对路径是: `D:\Download\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\mingw64\bin`,我需要将它加入到Path环境变量:

5-odfv.png

4. 验证是否安装好

打开终端,输入 gcc -v:
6-mqao.png

4. 编译go

go build

注意: 如果安装gcc之前打开了VSCode没有关闭过,需要关闭后再打开才能编译不报错

Windows下编译go到Centos运行

1.VSCode新建终端:

7-hjch.png

2.从 PowerShell 切换到 Command Prompt

注意:在Powershell中不能这样编译go,会不成功

8-wrdo.png

3.依次敲入如下命令:

set GOOS=linux
set GOARCH=amd64
go build

就可以看到生成了一个文件

注意:只要此终端 Command Prompt 没有变比,以后只需要输入go build就行,如果关闭之后重新打开,则需要重新设置 GOOSGOARCH

0

评论区