欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang?run時(shí)報(bào)undefined錯(cuò)誤的解決

 更新時(shí)間:2024年03月29日 08:38:20   作者:菜鳥六十八  
這篇文章主要介紹了golang?run時(shí)報(bào)undefined錯(cuò)誤的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

golang run時(shí)報(bào)undefined錯(cuò)誤

問題描述

在golang中同一個(gè)包中有兩個(gè)文件

分別為main.go 和 a.go,main函數(shù)在main.go中

并且在main函數(shù)中引用了a.go中的一個(gè)結(jié)構(gòu)體

運(yùn)行時(shí)報(bào)錯(cuò)

$ go run main.go
# command-line-arguments
.\main.go:170:10: undefined: TestLinkTask

原因

  • go run: 會(huì)先進(jìn)行編譯操作,而在此處的編譯它只會(huì)以這個(gè)main.go為準(zhǔn),導(dǎo)致引用其他文件出現(xiàn)找不到的情況
  • go build:不一樣,它會(huì)自動(dòng)查找引用文件并打包

解決辦法

  • 方法一:
go run main.go a.go
  • 方法二:
go run *.go
  • 方法三:
go build

goland:運(yùn)行時(shí)undefined: insertRowDemo報(bào)錯(cuò)

goland報(bào)錯(cuò)

這個(gè)錯(cuò)誤很久之前就遇到過了,但是當(dāng)時(shí)沒有解決,這次又讓我碰到了,還是沒有立刻解決掉,其實(shí)這個(gè)錯(cuò)的原因挺簡單的。

比如,有兩個(gè)文件在goland同一個(gè)項(xiàng)目中的同一個(gè)main包中,main.go,Demo1.go,main中調(diào)用Demo1.go中的insertRowDemo()

點(diǎn)擊運(yùn)行時(shí)發(fā)生錯(cuò)誤。

報(bào)錯(cuò)說沒有沒有定義,我勒個(gè)去,編譯器都顯示調(diào)用了,運(yùn)行時(shí)你告訴我沒定義。

好他么詭異。原因是,配置文件的問題,不小心更改了項(xiàng)目的配置文件,在你運(yùn)行時(shí)main方法時(shí),goland會(huì)自動(dòng)給項(xiàng)目加上配置文件,只不過加入的深淺不一樣,(當(dāng)然可以自己進(jìn)行配置)。

深入到直接對main.go進(jìn)行配置,導(dǎo)致,運(yùn)行時(shí)只看到自己文件中的函數(shù),看不到main.go外的文件,當(dāng)然在運(yùn)行時(shí)顯示沒定義了。

解決辦法,把配置文件重新更改到項(xiàng)目深度不要精確到文件。

運(yùn)行項(xiàng)目的時(shí)候,盡量點(diǎn)擊主函數(shù)main()左邊的那個(gè)小綠箭頭進(jìn)行運(yùn)行,或者在main()函數(shù)中右鍵點(diǎn)擊運(yùn)行。

點(diǎn)到函數(shù)的外面,大聰明的goland,就會(huì)自動(dòng)更改你的配置,導(dǎo)致運(yùn)行出錯(cuò)。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • golang使用DockerFile正確用法指南

    golang使用DockerFile正確用法指南

    docker在開發(fā)和運(yùn)維中使用的場景越來越多,作為開發(fā)人員非常有必要了解一些docker的基本知識,而離我們工作中最近的也就是對應(yīng)用的docker部署編排了,這篇文章主要給大家介紹了關(guān)于golang使用DockerFile的正確用法指南,需要的朋友可以參考下
    2024-03-03
  • golang 實(shí)現(xiàn)菜單樹的生成方式

    golang 實(shí)現(xiàn)菜單樹的生成方式

    這篇文章主要介紹了golang 實(shí)現(xiàn)菜單樹的生成方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • golang踩坑實(shí)戰(zhàn)之channel的正確使用方式

    golang踩坑實(shí)戰(zhàn)之channel的正確使用方式

    Golang?channel是Go語言中一個(gè)非常重要的特性,除了用來處理并發(fā)編程的任務(wù)中,它還可以用來進(jìn)行消息傳遞和事件通知,這篇文章主要給大家介紹了關(guān)于golang踩坑實(shí)戰(zhàn)之channel的正確使用方式,需要的朋友可以參考下
    2023-06-06
  • GoLang之標(biāo)準(zhǔn)庫encoding/json包

    GoLang之標(biāo)準(zhǔn)庫encoding/json包

    本文主要介紹了GoLang之標(biāo)準(zhǔn)庫encoding/json包,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • golang 實(shí)現(xiàn)時(shí)間戳和時(shí)間的轉(zhuǎn)化

    golang 實(shí)現(xiàn)時(shí)間戳和時(shí)間的轉(zhuǎn)化

    這篇文章主要介紹了golang 實(shí)現(xiàn)時(shí)間戳和時(shí)間的轉(zhuǎn)化操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Golang10進(jìn)制轉(zhuǎn)16進(jìn)制的幾種方法代碼示例

    Golang10進(jìn)制轉(zhuǎn)16進(jìn)制的幾種方法代碼示例

    這篇文章主要給大家介紹了關(guān)于Golang10進(jìn)制轉(zhuǎn)16進(jìn)制的幾種方法,進(jìn)制轉(zhuǎn)換是Golang的一些基本操作,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • 一文詳解Go語言中的Option設(shè)計(jì)模式

    一文詳解Go語言中的Option設(shè)計(jì)模式

    這篇文章主要為大家詳細(xì)介紹了Go語言中Option設(shè)計(jì)模式的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下
    2023-05-05
  • 淺析Golang中make和new的用法區(qū)別

    淺析Golang中make和new的用法區(qū)別

    在Go語言中,有兩個(gè)比較雷同的內(nèi)置函數(shù),分別是new和make方法,二者都可以用來分配內(nèi)存,那他們有什么區(qū)別呢?下面就跟隨小編一起來學(xué)習(xí)一下吧
    2024-02-02
  • 詳解如何在Go語言中生成隨機(jī)種子

    詳解如何在Go語言中生成隨機(jī)種子

    這篇文章主要為大家詳細(xì)介紹了如何在Go語言中生成隨機(jī)種子,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2024-04-04
  • go數(shù)據(jù)結(jié)構(gòu)和算法BitMap原理及實(shí)現(xiàn)示例

    go數(shù)據(jù)結(jié)構(gòu)和算法BitMap原理及實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了go數(shù)據(jù)結(jié)構(gòu)和算法BitMap原理及實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評論