01-go语言开始-HelloWorld
以输出HelloWorld为目标
Go的发展史
Go语言诞生(2007年的谷歌)的背景是由于软件开发的新挑战:
- 多核硬件架构
- 超大规模分布式计算集群
- Web模式导致的前所未有的开发规模和更新速度
Go的特点:
- 简单,关键字很少,只有25个
- 高效
- 生产力(复合)
- 云计算语言
- 区块链语言
安装和运行HelloWorld
吐槽一下,就这一个HelloWorld我花了大概一个多小时的时间,可能笔者比较笨,哭泣.反正就是各种运行失败, 笔者在go安装完成之后,习惯使用jetbrains的产品,所以下载了golang编辑器,之后就开始使用,建议安装的时候选中64位,还有默认使用它打开.go,最后把右边那个勾上,记不清是啥了,之后在创建一个文件夹,表示以后的go项目和案例都在这个文件夹下,接下来,别着急,在新建的文件夹下创建一个src文件夹,别问我,我也不知道为啥,笔者是java出身的,之后使用golang创建项目创建在这个src下就可以了.
创建好了之后,就可以新建一个文件,正式开始编码,笔者创建HelloWorld.go,代码内容如下:
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
然后右键运行,或者ctrl+shift+F10,运行就可以.就是这么简单,笔者在实验过程中一直犯错,难受,香菇.不过总算是弄出来了.
程序结构
- 包
package main
- 引入依赖
import "fmt"
- 功能实现
func main() {
fmt.Println("Hello World")
}
注意事项有三点:
- 必须是main包,但是文件目录不必是main,也就是package main是固定的,否则会报错
- 必须是main方法,这个与java相同,func main()
- 文件名不一定是main.go,这个go语言没有类的概念? 迷茫
实验:
- 在该项目下重新建个包,复制一份HelloWorld到新包下,还是能正常运行的(在Java中是需要修改包路径的,这个需要注意与Java不同)
- 退出返回值
- Go中main函数不支持任何返回值
- 通过os.Exit来返回状态(os.Exit(0)表示正常退出,感觉就是手动抛异常)
- 获取命令行参数
- main函数不支持传入参数
- 在程序中直接通过os.Args获取命令行参数
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args) > 1{
fmt.Println("Hello World, " + os.Args[1])
}
}
使用命令行运行: go run Hello_World.go wangzhi,就可以看到结果了
初次接触go,写的有点乱,日常笔记,不正确之处还请指正