前言
前几天跟公司同事闲聊,决定学习一下golang语言,今天开始搭环境写"Hello go",踩了一顿坑后,终于成功跑了起来,留个纪念吧。
工欲善其事,必先利其器。所以首先下了个idea,在官网直接下了个最新版“GoLand 2023.2”,然后关注了俩公众号,进入到了创建工程界面!然后就着手开壳第一段代码,必须得是“Hello go"!
工具有了就得研究怎么用。所以创建了一个工程后,看了一下go菜鸟教程,然后第一个坑就顺利的掉里面了。。。
坑1:运行程序报错该版本与操作系统不兼容。
代码都是直接复制过来的居然会报错。。。经过一系列的查找,发现这玩意定义了main函数还不行,报错信息为"该版本的 %1 与你运行的 Windows 版本不兼容。请查看计算机的系统信息,然后联系软件发布者。"。
经过一系列查找,发现工程必须有一个main包,然后把包含了"main"函数的"main.go"文件放到main包里(也就是名为main的文件夹),这样才能正确的执行main函数!到此第一个坑成功踏过,"Hello go"成功输出!
坑2:由于函数定义问题,导致找不到不同包中的函数
我新建了一个包(文件夹),然后在里面新建了一个文件,写了一个测试函数,但是当我在"main"包中调用这个新建包中的函数时,第二个坑跳进去了!报错信息如下:
找问题的过程就是熟悉语言的过程。于是又一顿找问题,这次明显比第一个坑的解决速度快了不少,可能也是因为不是啥大问题,只是不熟的原因。
原来是因为我函数定义的问题。与其他语言一样,在golang中不同包之间调用函数需要将函数设置成公共函数才可以调用。而golang中公共函数与私有函数是根据首字母大小写来区分的,即首字母大写为公共函数,首字母小写为私有函数。而恰好我定义的函数首字母小写了,所以当调用不同包中的函数时,需要将被调用的函数首字母大写。至此第二个坑踏过,"Hello go"又出现了!
至此我完成了我的学习第一步,感觉golang还是挺有意思的,下一步开始研究用golang搭建一个服务端玩玩。
测试工程及测试代码如下:
工程
Hello,Go!
GO,GO,GO!
LANG,LANG,LANG!