如何在VScode 中编译多个Go文件

在使用VScode编译多个go文件多次遇到过一个问题:无法找到对应的函数。具体提示在好像是:在GOPATH和GOROOT路径中都没有找到该package或者该函数。但是实际上,这个函数所在的go文件就在我的工作空间。 这里简单记录下来。

举个很简单的例子:src目录下有个main.go文件, 引用了当前目录下myTools文件夹中的Add函数:

其中

main.go的实现如下:

package main

import (
	"fmt"
	"myTools"
)

func main() {
	sum := myTools.Add(1, 2)
	fmt.Println(sum)
}

❇️myTools目录下的add.go实现如下:

package myTools

func Add(a, b int) int {
	return a + b
}

但是在编译时,提示找不到myTools或者Add函数之类的。我确认环境变量,包括GOPATH, GOROOT没有什么问题,但是依然提示类似错误。

我最初认为必须将自己写的这部分go文件放到go的安装路径下,这样虽然能解决问题,但是工程不太好管理呀;还会将自己的代码与源码混在一起,污染源码,于情于理都不合适。当时也查过相关资料,网络好几篇都说将这两个同时编译即可

go build main.go myTools/add.go

这个确实可以,但是在不同目录时无法编译。我也没有研究这个问题,但是感觉也不方便,如果需要挨个指定要编译的文件,那岂不是又要写一个类似makefile的文件吗???

后来,一个偶然的机会,他可以了

我回想了下,刚才做过的操作:

go mod init

go mod tidy

之后,便可以通过直接编译main.go来运行程序了,不再需要指定编译哪些.go文件,非常的方便。如果有人也遇到类似的问题,可以这样试一下,希望能解决这样的问题。

特别说明:

我目前对Go语言正处于学习阶段,感觉遇到问题比较多的就是:环境配置问题。各种安装失败、编译出错,VScode无法追踪代码等等奇形怪状的问题,这里权当做记录了。同时希望对于后面遇到此类问题的同学,能够快速解决此类问题。

到此这篇关于VScode 中编译多个Go文件的文章就介绍到这了,更多相关VScode 编译Go文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • VScode编译C++ 头文件显示not found的问题

    一直用codeblocks,想试试vscode,结果这个问题给我弄懵逼了.一开始以为是iostream这个头文件not found,后来发现第一个头文件都会这样显示,放到后面就不会了,然而,光这一个显示not found(虽然并不影响编译),就能逼死强迫症的啊~~~ 言归正传,这个问题解决方法是: 文件--首选项--设置--搜索"clang.diagnostic.enable",然后把勾勾去掉就好了.这是插件C/C++ Clang Command Adapter的一个选项~~ 如果一堆

  • vscode和cmake编译多个C++文件的实现方法

    目的是利用vscode及相关插件编译多个C++文件. 我已经装好cmake和mingw并且将它们的路径添加到系统变量path中了. vscode装上如下几个插件: 点击vscode左上角 文件->首选项->设置,弹出如下窗口: cmake tools里头有一项cmake.preferredGenerators要根据编译器修改成对应的值,mingw对应的是MinGW Makefiles 下面一项cmake要配置cmake的安装路径,我的是C:\\Program Files\\CMake\\bin

  • VSCode 使用 Code Runner 插件无法编译运行文件名带空格的文件问题

    使用 Visual Studio Code 写 C++ 程序最烦心的是大概就是使用 Code Runner 插件无法编译运行文件名带空格的文件了,这个问题困扰了我好久,虽然不影响学习,但太多分隔符总觉得不顺眼,于是我仔细研究了一下它. 先创建一个叫 "hello world" 的测试程序,我们再根据 G++ 报错英文分析一下原因: g++.exe: error: hello: No such file or directory g++.exe: error: world.cpp: No

  • VSCode C++多文件编译的简单使用方法

    C++中编写类时往往会分成.h和.cpp方便代码编写,这篇文章就来讲讲VSCode中怎么进行多文件编译. 1.安装插件 为了方便编译需要安装图中插件,不过相信写C++的应该都安装了吧. 2.原因分析及解决思路 当我们按单文件编译方法直接进行多文件编译的时候会出现报错 在报错中指出我们类中的成员函数未定义,这是因为我们实现成员函数的cpp文件为被编译. VSCode其实是通过通过插件自动的编译命令并运行.编译指令在.vscode文件下的tasks.json中,于是我们查看一下自动生成的编译指令.

  • 如何在VScode 中编译多个Go文件

    在使用VScode编译多个go文件多次遇到过一个问题:无法找到对应的函数.具体提示在好像是:在GOPATH和GOROOT路径中都没有找到该package或者该函数.但是实际上,这个函数所在的go文件就在我的工作空间. 这里简单记录下来. 举个很简单的例子:src目录下有个main.go文件, 引用了当前目录下myTools文件夹中的Add函数: 其中 main.go的实现如下: package main import ( "fmt" "myTools" ) func

  • layabox2.0命令行在vscode中编译打包问题

    检查node的版本和gulp版本,最好使用nvm来管理node版本,本人遇到这两种版本匹配的时候会造成layaair2-cmd命令编译报错的问题 形如下面的报错 primordials is not defined 我使用的正确的一组版本匹配 PS E:\study\project\laya\layaTestApp> nvm list 12.16.2 * 10.4.0 (Currently using 64-bit executable) PS E:\study\project\laya\lay

  • 如何在vscode中安装python库的方法步骤

    vscode安装python库 1.已经在vscode中装了python并配置好python运行环境. 检查是否正确配置好运行环境,按Windows+R组合键在运行窗口输入cmd,打开命令提示符窗口输入python确定即可 2.找到vscode中python的路径 随便运行一个代码,例如print("hehe")下面的终端显示如下 图中红色地方圈起的便是python的路径,到python3.8为止. 如果你所显示的内容与我不同,可在setting.json中查找并将路径复制下来(在vs

  • 在dos窗口中编译和运行java文件的方法

    配置path环境变量 在学习java时,配置path环境变量主要目的是让windows操作系统可以找到java.exe和javac.exe文件. 所以只要把带有java.exe和javac.exe的文件夹的路径配置到path环境变量中就行了. path环境变量通过;(英文半角分号)分隔不同的路径. JAVA_HOME的主要目的是为了方便用户更改jdk版本,可以在JAVA_HOME中直接更改而不用去path中更改,但是不使用JAVA_HOME,直接在path里去配置路径也没有任何问题. 我的电脑-

  • 如何在Laravel中验证zip里的文件

    目录 概述 PHP 的libzip扩展 如何操作 ZIP 文件 集成到 Laravel 程序中 最佳实践 概述 如果我们希望用户上载 ZIP 文件,我们可以结合规则并像如下所示的内容使用: return [ 'file' => 'required|file|mimes:zip|size:3072' ]; 但是与图片.文本或 pdf 文件不同,ZIP 是一个压缩文件,可以在其中保存多个不同的文件. 假设我们希望用户上传一个 ZIP 文件,但带有特定的必需文件和文件夹结构. 举一个真实的例子,如果您

  • 详解如何在Java中加密和解密zip文件

    目录 依赖 压缩一个文件 压缩多个文件 压缩一个目录 创建一个分割的压缩文件 提取所有文件 提取单个文件 总结 依赖 让我们先把 zip4j 依赖关系添加到我们的 pom.xml 文件中. <dependency>     <groupId>net.lingala.zip4j</groupId>     <artifactId>zip4j</artifactId>     <version>2.9.0</version>

  • 如何在android中使用html作布局文件

    在android开发中,通常使用xml格式来描述布局文件.就目前而言,熟悉android布局及美化的人员少之又少,出现了严重的断层.大部分企业,其实还是程序员自己动手布局.这样既浪费时间和精力,也未必能达到理想的效果.但是,在企业级的android开发中,使用html页面进行布局,也有很多的优势(例如:简单,大部分开发人员及美工都熟悉,方便统一进行更新,管理).据笔者了解,已经有不少的公司在使用这种方式进行布局开发.这也可能是一种趋势. 下面,我将给出一个实例代码,供大家学习使用html页面给a

  • VSCode中如何利用d.ts文件进行js智能提示

    自动补全(智能提示) 因为之前微软推出了typescript语言,结合tsd文件,用visual studio写typescript代码是相当爽的,智能提示的功能非常nb. 这个功能理所应当也被vsc继承了. vsc的自动补全用的是typings. 先上效果图: 安装 nodejs 因为需要使用到node里面的npm去安装别人写好的d.ts文件,所以要先安装nodejs.具体步骤不说了,去nodejs官网上下载相应的程序,点击下一步下一步安装就行了. 添加项目的配置文件 在项目的根目录,创建一个

  • 如何在python中执行另一个py文件

    使用命令:os.system('python file_name.py') 解释:os.system是执行当前的系统命令 1.拿windows系统举例: # 由于ipconfig/all在windows中是查看ip地址 # 所以将此命令运行在os.system中,即可查看系统的ip地址等信息 import os os.system('ipconfig/all') # 因为python file_name.py可以直接执行py文件 # 所以可以通过os.system来执行py代码 import o

  • VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)

    错误现象:autopep8无法运行,运行后vscode右下角提示 Error: Command failed: autopep8 c:\Users\Administrator\Desktop\Python\第1章 概述\1-10.py usage: autopep8 [-h] [--version] [-v] [-d] [-i] [--global-config filename] [--ignore-local-config] [-r] [-j n] [-p n] [-a] [--experi

随机推荐