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

 更新时间:2021年08月31日 12:00:31   作者:叨陪鲤5  
这篇文章主要介绍了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文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang如何快速构建一个CLI小工具详解

    Golang如何快速构建一个CLI小工具详解

    这篇文章主要为大家介绍了Golang如何快速构建一个CLI小工具详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Go Gin框架中的路由组及其优先级探索分析

    Go Gin框架中的路由组及其优先级探索分析

    在构建Web应用程序时,理解和有效地使用路由是至关重要的,Go语言的Gin框架为此提供了强大的工具,特别是通过其路由组功能,本文将深入探讨Gin的RouterGroup,特别是在路径匹配和优先级方面的行为
    2024-01-01
  • Go语言的JSON处理详解

    Go语言的JSON处理详解

    json格式可以算我们日常最常用的序列化格式之一了,Go语言作为一个由Google开发,号称互联网的C语言的语言,自然也对JSON格式支持很好。
    2018-10-10
  • Go语言的http/2服务器功能及客户端使用

    Go语言的http/2服务器功能及客户端使用

    Golang 有一个很棒的自带 http 服务器软件包,不用说就是: net/http, 它非常简单,但是功能非常强大。下面这篇文章主要给大家介绍了关于Go语言的http/2服务器功能及客户端使用的相关资料,需要的朋友可以参考下
    2018-09-09
  • go语言中time包的各种函数总结

    go语言中time包的各种函数总结

    时间和日期是我们编程中经常会用到的,下面这篇文章主要给大家介绍了关于go语言中time包的各种函数总结的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Golang学习笔记(四):array、slice、map

    Golang学习笔记(四):array、slice、map

    这篇文章主要介绍了Golang学习笔记(四):array、slice、map,本文分别讲解了这3个类型的声明&赋值、元素访问、其它操作,需要的朋友可以参考下
    2015-05-05
  • Go中recover与panic区别详解

    Go中recover与panic区别详解

    这篇文章主要介绍了Go中recover与panic区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Go语言开发框架反射机制及常见函数示例详解

    Go语言开发框架反射机制及常见函数示例详解

    这篇文章主要为大家介绍了Go语言开发框架反射机制及常见函数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • GoLang strings.Builder底层实现方法详解

    GoLang strings.Builder底层实现方法详解

    自从学习go一个月以来,我多少使用了一下strings.Builder,略有心得。你也许知道它,特别是你了解bytes.Buffer的话。所以我在此分享一下我的心得,并希望能对你有所帮助
    2022-10-10
  • Go使用Protocol Buffers在数据序列化的优势示例详解

    Go使用Protocol Buffers在数据序列化的优势示例详解

    这篇文章主要为大家介绍了Go使用Protocol Buffers在数据序列化的优势示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论