日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

php小編小新在Go語言學習過程中,有時可能會遇到安裝成功但沒有輸出簡單的Hello World的情況。這種情況可能是由于編碼問題、環境配置錯誤或代碼書寫不正確等原因導致的。本文將為大家解決這一問題,提供一些常見的解決方法和技巧,以幫助大家順利輸出Hello World并順利進行Go語言學習。

問題內容

使用 windows 11 pro,使用安裝程序安裝 go。
這是我的 main.go 文件:

package main

import (
    "fmt"
    "time"
)

func main() {
    fmt.println("hello world")
    time.sleep(2 * time.second)
}

登錄后復制

以及我能想到的所有相關信息:
powershell版本:
ps c:\users\fares.alghazy\go\src> $psversiontable.psversion

主要次要構建修訂

5 1 22621 1778

go 擴展設置.json:

{
    "explorer.confirmdelete": false,
    "terminal.integrated.scrollback": 100000,
    "editor.minimap.enabled": false,
    "[javascript]": {
        "editor.defaultformatter": "esbenp.prettier-vscode"
    },
    "workbench.editorassociations": {
        "*.db": "default",
        "*.docx": "default"
    },
    "[json]": {
        "editor.defaultformatter": "vscode.json-language-features"
    },
    "[php]": {
        "editor.defaultformatter": "sophisticode.php-formatter"
    },
    "editor.formatonsave": true,
    "prettier.tabwidth": 4,
    "[typescript]": {
        "editor.defaultformatter": "vscode.typescript-language-features"
    },
    "[dockercompose]": {
        "editor.defaultformatter": "ms-azuretools.vscode-docker"
    },
    "typescript.updateimportsonfilemove.enabled": "always",
    "javascript.updateimportsonfilemove.enabled": "always",
    "[jsonc]": {
        "editor.defaultformatter": "esbenp.prettier-vscode"
    },
    "[html]": {
        "editor.defaultformatter": "esbenp.prettier-vscode"
    },
    "[typescriptreact]": {
        "editor.defaultformatter": "vscode.typescript-language-features"
    },
    "diffeditor.ignoretrimwhitespace": false,
    "workbench.startupeditor": "none",
    "[vue]": {
        "editor.defaultformatter": "vue.volar"
    },
    "audiocues.linehasbreakpoint": "off",
    "audiocues.linehaserror": "off",
    "audiocues.linehasinlinesuggestion": "off",
    "audiocues.noinlayhints": "off",
    "audiocues.ondebugbreak": "off",
    "audiocues.volume": 0,
    "audiocues.linehasfoldedarea": "off",
    "go.gopath": "c:\\users\\myuser\\go",
    "go.goroot": "c:\\program files\\go",
    "files.autosave": "afterdelay",
    "go.alternatetools": {
    
    }
}

登錄后復制

系統/目錄信息:

ps c:\users\myuser\go\src> pwd

c:\users\myuser\go\src


ps c:\users\myuser\go\src> ls


    directory: c:\users\myuser\go\src


mode                 lastwritetime         length name
----                 -------------         ------ ----
-a----         28-jul-23  12:00 pm            122 main.go


ps c:\users\myuser\go\src> go version
go version go1.20.6 windows/amd64
ps c:\users\myuser\go\src> go env
set go111module=
set goarch=amd64
set gobin=
set gocache=c:\users\myuser\appdata\local\go-build
set goenv=c:\users\myuser\appdata\roaming\go\env
set goexe=.exe
set goexperiment=
set goflags=
set gohostarch=amd64
set gohostos=windows
set goinsecure=
set gomodcache=c:\users\myuser\go\pkg\mod
set gonoproxy=
set gonosumdb=
set goos=windows
set gopath=c:\users\myuser\go
set goprivate=
set goproxy=https://proxy.golang.org,direct
set goroot=c:\program files\go
set gosumdb=sum.golang.org
set gotmpdir=
set gotooldir=c:\program files\go\pkg\tool\windows_amd64
set govcs=
set goversion=go1.20.6
set gccgo=gccgo
set goamd64=v1
set ar=ar
set cc=gcc
set cxx=g++
set cgo_enabled=0
set gomod=nul
set gowork=
set cgo_cflags=-o2 -g
set cgo_cppflags=
set cgo_cxxflags=-o2 -g
set cgo_fflags=-o2 -g
set cgo_ldflags=-o2 -g
set pkg_config=pkg-config
set gogccflags=-m64 -fno-caret-diagnostics -qunused-arguments -wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=c:\users\myuser~1.alg\appdata\local\temp\go-build1704880455=/tmp/go-build -gno-record-gcc-switches

登錄后復制

問題:

動作運行:
go 運行 main.go
預期輸出:
> 你好世界
收到的輸出:
終端停止(即使沒有 time.sleep)然后什么也沒有發生

嘗試修復
1-嘗試使用 go build 然后運行 ??exe,沒有收到輸出
2-嘗試構建然后將輸出重定向到文件:
go 構建 main.go
.\main.exe >output.txt
output.txt 已創建但為空
3-檢查控制臺編碼:活動代碼頁:65001

4-禁用防病毒或安全軟件:我使用標準 windows 安全功能,未安裝第 3 方安全軟件
我什至嘗試過重新安裝go軟件、重啟電腦、重啟vs code等

為什么我的代碼沒有顯示輸出?我可以做什么來修復它?

更新1:
按照@mkopriva 的指示:

go mod init my_app 生成以下 go.mod 文件:

module my_app

go 1.20

登錄后復制

我的新目錄是:

PS C:\Users\myuser\Desktop\Development\go\my_app> ls


Directory: C:\Users\myuser\Desktop\Development\go\my_app


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         28-Jul-23   1:14 PM             27 go.mod
-a----         28-Jul-23   1:15 PM            125 main.go

登錄后復制

go run main.go 或構建然后運行沒有任何變化。仍然沒有得到輸出。

解決方法

Go 程序經常被防病毒軟件錯誤地識別為惡意軟件,盡管它們并非惡意軟件。 Go 官方文檔中甚至還有有關此主題的常見問題解答條目。

Windows Defender 通常會在編譯后立即刪除您的可執行文件。您可以不使用 go run main.go ,而是分別執行兩個步驟,首先調用 go build main.go ,然后嘗試運行 main.exe 。當 Windows 在創建后立即刪除可執行文件時,此操作將會失敗。我曾見過編譯的 DLL 在一分多鐘后消失,當時我以為自己是安全的,因此請注意,可執行文件可能不會立即被刪除,但可能會在編譯后幾秒甚至幾分鐘被刪除。

當您調用 go run main.go 時,它將在 %APPDATA%Local 路徑下的臨時文件夾中構建可執行文件,該文件夾名為 go-build

您可能希望在 Windows Defender 中創建例外規則,以忽略 APPDATA 中的 go-build 文件夾。您還應該從防病毒掃描中排除 GOPATHGOBIN,您可能也會在那里構建和運行代碼。

分享到:
標簽:Go語言
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定