同一個包下 golang run時報undefined

問題描述

今天在運行一個項目,一個包下有兩個文件,分別是main.go和route,main函數在main.go文件中,main引用了route.go中的兩個函數,SetupRoutes和SetupAdminRoutes

go build 編譯后,直接運行,為任何問題,但是 go run 出現問題了

提示:

查看route.go文件 是否有這兩個函數?

發現 這個兩個函數也是真實存在的

這里就產生了兩個問題?

  1. go build 為什么能找到同一包下的函數
  2. go run 為什么就找不到同一報下的函數

原因

  1. go run: 會先進行編譯操作,而在此處的編譯它只會以這個main.go為準,導致引用其他文件出現找不到的情況
  2. go build:不一樣,它會自動查找引用文件并打包

解決方案

命令

go run *.go

Goland 工具如何解決

Goland默認按照文件級別來進行編譯,即默認只編譯main.go,而不管其他go文件,我們可以修改默認選項:


ps:我建了個學習交流群,需要的可以進群
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697733.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697733.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697733.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C++私房菜】面向對象中的簡單繼承

文章目錄 一、 繼承基本概念二、派生類對象及派生類向基類的類型轉換三、繼承中的公有、私有和受保護的訪問控制規則四、派生類的作用域五、繼承中的靜態成員 一、 繼承基本概念 通過繼承(inheritance)聯系在一起的類構成一種層次關系。通常在層次關系的…

Leetcoder Day17| 二叉樹 part06

語言:Java/C 654.最大二叉樹 給定一個不含重復元素的整數數組。一個以此數組構建的最大二叉樹定義如下: 二叉樹的根是數組中的最大元素。左子樹是通過數組中最大值左邊部分構造出的最大二叉樹。右子樹是通過數組中最大值右邊部分構造出的最大二叉樹。 …

進程間傳遞 SQL 文的方法

SQL 文組成 SQL 文有 2 部分組成: SQL 原型,如:INSERT INTO test1 (id,name) VALUES (?,?)Args ,? 號對應的值列表 有時,生成 SQL 文的進程和處理 SQL 文的進程,可能不是同一個 這里就涉及到如何高效…

免費搭建個人網盤

免費搭建一個屬于個人的網盤。 服務端 詳情請參考原網站的服務端下載和安裝虛擬磁盤Fuse4Ui可以支持把網盤內容掛載成系統的分區; 掛載工具效果圖:應用端應用端的下載 效果圖

藍橋杯第1374題——鍛造兵器

題目描述 小明一共有n塊鍛造石,第塊鍛造石的屬性值為ai. 現在小明決定從這n塊鍛造石中任取兩塊來鍛造兵器 通過周密計算,小明得出,只有當兩塊鍛造石的屬性值的差值等于C,兵器才能鍛造成功 請你幫小明算算,他有多少種選…

人工智能幾個關鍵節點:深藍,AlphaGo,ChatGPT,Sora

近30年,人工智能幾個關鍵節點:深藍,AlphaGo,ChatGPT,Sora 深藍: 1997年,深藍擊敗卡斯帕羅夫的比賽是通過一系列復雜的算法和策略實現的。深藍的開發團隊使用了一種名為“暴力搜索”的技術&…

OGG-00918 映射中缺少鍵列 id.

2024-02-23 14:54:49 INFO OGG-02756 從線索文件獲取了表 GISTAR.PXPH_PON_ROUTE 的定義。. The following columns did not default because of type mismatches: id OGG-00918 映射中缺少鍵列 id. 目標端有字段ID,由于mysql自增,所以只能是b…

短劇小程序系統,重塑視頻觀看體驗的科技革命

隨著科技的飛速發展,人們對于數字化內容的消費需求也在不斷增長。在這個大背景下,短劇小程序作為一種新型的視頻觀看方式,正逐漸受到大眾的青睞。本文將探討短劇小程序的發展背景、特點以及市場前景,分析其在重塑視頻觀看體驗方面…

如何使用Inno Setup制作Unity構建程序的Windows安裝程序

1. 準備 (1)準備好Unity構建的程序集合 必須包括: Data文件夾(xxx_Data) Mono文件夾(MonoBleedingEdge) 打包的應用程序文件(xxx.exe) Unity播放器dll文件&#xff…

SpringBoot+Docker:高效容器化的最佳實踐

首先為什么要使用 Docker? Docker 是一個強大的工具,它允許開發者將他們的應用程序打包到容器中,以便可以在任何平臺上輕松部署和運行。當涉及到對 Spring Boot 應用程序進行 Docker 化時,每個開發人員都應該遵循一些最佳實踐&am…

編程筆記 Golang基礎 017 數據類型:字符串類型

編程筆記 Golang基礎 017 數據類型:字符串類型 一、字符串類型小結 在Go語言中,字符串(string)是一種基本的數據類型,用于表示文本數據。它是一個不可變的字符序列,由UTF-8編碼的字節組成,支持U…

深入URP之Shader篇15: Shader關鍵字和變體

之前說了很多shader關鍵字的事情,本篇好好說一下關鍵字和變體。 關鍵字是干什么的 我們寫shader的時候,經常會遇到需要處理不同的情況,比如是否啟用霧,光源是平行光還是點光源,是否使用法線貼圖等等。如果為每一種情…

基于springboot+vue的大創管理系統(前后端分離)

博主主頁:貓頭鷹源碼 博主簡介:Java領域優質創作者、CSDN博客專家、阿里云專家博主、公司架構師、全網粉絲5萬、專注Java技術領域和畢業設計項目實戰,歡迎高校老師\講師\同行交流合作 ?主要內容:畢業設計(Javaweb項目|小程序|Pyt…

【selenium】執行 Javascript 腳本 滾動、元素的特殊操作等

某些特殊情況下,使用selenium的api無法操作頁面元素,點擊、滾動實現的某些功能,可以考慮通過執行js來完成。 為什么不用js寫自動化?——selenium第一版是js寫的,但js兼容性存在問題,所以引入webdriver 現在…

ad15 PCB3D模型導出到SOLIDWORKS

注意,工程文件目錄不能用中文,否則導出的文件會不存在 將這個文件直接拖到 SOLIDWORKS 中 下一步很關鍵 顯示出來了 另存為一個轉配體就可以了

12 個對開發人員有用的 Python 腳本

目錄 Create strong random passwordsExtract text from a PDFText processing with PandocManipulate audio with PydubFilter textLocate addressesConvert a CSV to ExcelPattern match with regular expressionsConvert images to JPGCompress imagesGet content from Wiki…

FPS游戲之漫談網絡抖動引發客戶端的卡頓優化

話說各位大神 你們遇到過因為網絡抖動導致客戶端的卡頓現象嗎,或者說測試反饋模擬弱網環境的時候某個功能點會卡頓一下,然后通過各種定位,發現原來是一次性下發了好多包???? 問題來了如果我們在…

海思SD3403,SS928/926,hi3519dv500,hi3516dv500移植yolov7,yolov8(14)

自己挖了一個坑,準備做SS928/SD3403的Yolov8的移植,主要是后臺私信太多人在問相關的問題。先別著急去寫代碼,因為在hi3516dv500下的移植還是比較順利。之前在hi3519av100和hi3559av100系列時遇到過一些問題,所以沒有繼續去移植新的算法。 SS928架構乍一看和hi3559av100特別…

Ubuntu系統本地部署Inis博客結合內網穿透實現遠程訪問本地站點

文章目錄 前言1. Inis博客網站搭建1.1. Inis博客網站下載和安裝1.2 Inis博客網站測試1.3 cpolar的安裝和注冊 2. 本地網頁發布2.1 Cpolar臨時數據隧道2.2 Cpolar穩定隧道(云端設置)2.3.Cpolar穩定隧道(本地設置) 3. 公網訪問測試總…

git 使用總結

文章目錄 git merge 和 git rebasegit mergegit rebase總結 git merge 和 git rebase git merge git merge 最終效果說明: 假設有一個倉庫情況如下,現需要進行 merge: merge 操作流程: merge 的回退操作: git reba…