【GoLang】1.1 第一个go程序

本文记录了一位开发者初次学习Go语言的过程,包括下载安装、环境配置、编写第一个程序、理解包和函数命名规则、生成可执行文件以及获取命令行参数的方法。通过实践,作者体验了Go语言的独特之处。

  我为什么要学习go语言啊?大概是因为它现在很火吧,而且我自信学习能力强,学新东西快,所以我就开学啦。首先在下载页下载https://golang.google.cn/dl/,然后安装。再安装开发工具,因为我有正版JetBrains全家桶,所以我可以用GoLand了,在GoLand主页https://www.jetbrains.com/go/下载就可以了。
  来个标准的版本测试,哈哈表示安装成功了:

PS C:\Users\lenovo> go version
go version go1.18.4 windows/amd64
PS C:\Users\lenovo>

  然后就是安装Goland,设置GOPATH了。这个变量按照规范,应该是用户目录下的go文件夹,我是自己手动建的,我的用户名是Lenovo,所以我在C:\Users\lenovo\下建了go文件夹,再把GOPATH设置为C:\Users\lenovo\go,如图:
在这里插入图片描述

第一个程序

  虽然搭建好了开发工具,但是第一个程序我就不用开发工具了,直接记事本写起来,文件都是main.go嘛,反正也很短:

package main

import "fmt"

func main() {
	fmt.Println("Hello, world!")
}

  然后就是命令行了:

PS F:\learn\go\demo2> go run main.go
Hello, world!
PS F:\learn\go\demo2>

分析

  但是我写完以后没搞懂很多东西。首先是package,这个package必须得叫main,否则就无法执行,为此我做了一个实验,哈哈:

package x

import "fmt"

func main() {
	fmt.Println("Hello, world!")
}

  这么一执行,就果断报错了:

PS F:\learn\go\demo2> go run x.go
package command-line-arguments is not a main package
PS F:\learn\go\demo2>

  GoLang的包是可以不和文件夹同名的,这点让我很惊讶,不过适应了就好了。而还有一点让我不适应的是函数名是大写字母开头,这与我之前学习的用得最多的Java语言很不同。
  文件名是没有什么关系的,可以不叫main.go,我复制了,改成start.go也可以运行:

PS F:\learn\go\demo2> go run start.go
Hello, world!
PS F:\learn\go\demo2>

可执行文件

  GoLang是可以生成可执行文件的,我好久没编译过exe文件了,这次特别激动,迫不及待地试一试。

PS F:\learn\go\demo2> go build .\main.go
PS F:\learn\go\demo2> ls


    Directory: F:\learn\go\demo2


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        25/07/2022     16:43        1892352 main.exe
-a----        25/07/2022     15:10             74 main.go
-a----        25/07/2022     15:10             74 start.go


PS F:\learn\go\demo2> .\main.exe
Hello, world!

命令行参数

  Go的main函数是没有参数的,那么怎么获取命令行输入的参数啊?我对这个很有兴趣。于是练习了起来,原来是要引入os包才能获取命令行参数。代码撸起来:

package main

import (
	"fmt"
	"os"
)

func main() {
	for i := 1; i < len(os.Args); i++ {
		fmt.Print(os.Args[i], ",")
	}
	fmt.Println()
	fmt.Println("Hello, world!")
}

  试验了一下:

PS F:\learn\go\demo2> go build start.go
PS F:\learn\go\demo2> .\start.exe 1 2 3
1,2,3,
Hello, world!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醒过来摸鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值