• 使用Eclipse运行第一个Go程序


    Windows 10家庭中文版,go version go1.11 windows/amd64,

    Eclipse IDE for C/C++ Developers Photon Release (4.8.0),

    GoClipse 0.16.1(v201607061938),

    紧接着上一篇博文,现在孤可以是使用Eclipse开发Go程序了:建立项目、建立源文件、编译、运行、测试、调试……

    本文介绍自己使用Eclipse运行第一个Go Project的过程以及其中踩到的坑。

    建立项目

    下面的 D:eclipse-cdtws 为Eclipse的 工作空间——后来更改了,更改后,还需要配置一遍Window->Preferences->Go:

    项目建立成功:

    上图的项目树结构中,src初步理解为放源码,bin存放编译、运行、调试等产生的可执行文件(细节需dig),Build Targets很重要,涉及到后面的一个 坑 的调试。

    建立源程序

    这一步自己犯错了——Go语言对项目的目录结构是有一些规定的(看的一些网络博文也有提到,还需dig),而自己把程序直接就放在了src目录下:

    在项目的src下生成了源文件 new_file.go:

    修改为自己需要的测试程序:

    package main 
    
    import (
    	"fmt"
    )
    
    func main() {
    	fmt.Println("Here I come!")
    }

    执行程序——遇到 问题(第一个) 了,执行不了:

    Resource doesn't have a corresponding Go package.

    后在Run Configurations中选择Go Application运行时,出现下面的提示:

    查看一些文章后,在src下新建pkg1,并将上面的源文件放入其中:

    再次执行程序,第二个问题出现了——在项目所在bin目录下没有找到可执行文件:

    经过查找,在Go安装目录的bin下面找到了可执行程序——pkg1.exe——可是,为什么呢?:

    误打误撞”打开了项目下的Build Targets,显示了项目的 属性对话框(Properties for go961):

    发现其中的(Optional) Path of generated executable显示为使用默认(Use default),可是,默认又是什么呢?

    看过上面的内容后,自己并不知道如何解决问题!于是,试验!

    打开Run Configurations,“胡乱地”修改其中的配置,并运行程序(读者可以略过这一部分,因为其中的一些配置是错误的):

    由于前面自己发现项目编译运行后产生的可执行文件跑到Go安装目录下的bin文件夹中了,于是,把Run Configurations里面的Path of launch executable取消Use default,并配置可执行程序的路径为Go安装目录下的本项目可执行文件:

    再次执行,Eclipse中运行程序成功,得到了预期结果!

    可是,俺还是像可执行程序出现在项目的bin目录下啊!为什么会这样呢?查阅一些网络资料(费时费力啊)后,“灵光一闪”!好像自己1周前安装Go时,好像配置了一个环境变量GOBIN来着,是因为它引起的吗?

    删除这个环境变量!!!

    重新配置Run Configurations——恢复为选中使用Use default:

    再次运行项目——成功!项目的bin目录下出现了可执行程序pkg1.exe了!

    好了,第一个Go程序就这么运行起来了!

    180906 1806补充说明:

    1.更换Eclipse的Workspace

    在测试过程中,自己更换了一次Eclipse的工作目录——Window->Preferences->Startup and Shutdown->Workspaces:

    选中其中的Prompt for workspace on startup,重启Eclipse即可更改工作目录。

    下图显示,更换工作目录后,Eclipse存在两个工作目录了,最新的存在于最上方,也是下次启动时的默认工作目录。

    2.Go项目导入

    在更换工作目录后,再次打开Eclipse,发现之前的项目go961不存在了——因为新的工作目录下没有这个项目。

    自己知道Eclipse是有项目导入功能的,于是,执行项目导入(注意,导入前项目已被自己拷贝到新的工作目录中):

    导入项目出现错误:

    导入项目没有GOROOT、GOPATH:

    Window->Preferences->Go中的各个工具为空:

    解决方法:取消选择gofmt下的User default location,在一个一个手动配置好。

    然后打开Run Configurations查看运行配置,再执行:此时到导入项目的Go package to build为空,执行失败!

    修改Run Configurations配置,重新执行:成功!

    3.设置项目默认编码为UTF-8

    默认为系统的GBK,修改为UTF-8:

    鉴于后面的项目都可能是UTF-8编码,因此,修改整个Eclipse的 工作目录编码为UTF-8:

    Window->Preferences->General->Workspace

    虽然做了全局的配置,但孤以为,还是应该在新建项目时 单独配置其编码为UTF-8——移植项目时就不会因为Eclipse的默认编码不同而出错了吧(猜的)!

    4.建立第二个项目:成功!

    --------分割线--------

    可是,自己还存在不少疑问:

    1.各个Go语言的环境变量有什么意义?

    2.GOBIN会影响使用go命令安装软件吗,比如gocode、guru等,孤发现之前安装guru时,不光C:Goin下面有guru.exe,在GOPATH下也存在一个guru.exe。

    3.在新建Go源文件时,有三个选项,分别表示什么源文件呢?

    在选择源文件类型为Command Source File时,其下出现三个可选项,又分别代表什么意思呢?在哪些应用中可以用到?

    5.Build Targets要怎么配置?Go项目的属性又要怎么配置?

    6.Run Configurations下的Build Command又需要怎么配置?

    7.使用go.exe安装了软件,除了前面搭建开发环境需要的,还可以安装哪些软件?

    8.GoClipse是2016年的,太过时了吧?Google官方用什么IDE进行Go开发呢?

    9.Go语言的常见应用领域有哪些?怎么让它发挥出更大的功效呢?

    10.Go语言怎么会GitHub等配合使用?前面发现可以下载安装GitHub上的程序,那么,上传到自己的程序库呢?

    11.Go语言有哪些 标准库?第三方库?

    ……

    问题很多,还需要更加深入才行啊!之前看到别人用Go语言写Web服务器,感觉很牛啊!其它的Web开发都是借助于线程的Web服务器呢!

    还有,Go语言的强项是什么?抓住其强项进行学习!之前学习Python,就没有采用这种策略,结果,在爬虫、Web开发上花了不少时间(几个月),以至于现在对于使用Python进行大数据处理分析、人工智能等开发一片空白!所以,学习Go语言得换换策略才行!

    前面看过菜鸟的Go语言教程了,目前不记得有什么特别困难的点了。

    那么,接下来,了解Go语言的应用场景、补足基础知识的缺失了!

    还好可以访问它的墙内官网了!否则自己又会向Android开发一样放弃了吧!

  • 相关阅读:
    windows 临界区 InitializeCriticalSectionAndSpinCount以及InitializeCriticalSection的区别
    SRWLock 轻量级的读写锁
    QT 遍历获取Form上的控件
    mssql 查询作业执行情况,耗时 等
    C++ builder FMX 遍历窗口所有控件 并 动态消失
    delphi fmx 控件从天上掉下来
    Vue2入门必知必会
    人人开源&项目脚手架&微服务整合
    Spring Security应用到源码分析
    K8S系统学习笔记总览
  • 原文地址:https://www.cnblogs.com/luo630/p/9600010.html
Copyright © 2020-2023  润新知