Go2 | 编写第一个Go语言程序

一、编写hello_world程序

打开Atom编译器创建如下目录

  1. 建立源码目录 src
  2. 建立包目录 main
  3. 建立源码文件hello_world.go

目录如下
在这里插入图片描述
编写hello_world.go文件

package main

import "fmt"

func main() {
  fmt.Println("hello world")
}

执行go文件,保存文件后,终端切换到文件目录执行

$ go  run  hello_world.go
hello world

编译源码为二进制文件

go build hello_world.go

二、基本程序结构

package main  //包,表明代码所在的模块(包)

import "fmt" //引入代码依赖

//功能实现

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

应用程序入口注意点

  • package main //必须是main包,对应的目录名可以不是;
  • func main() //必须是main方法;
  • 文件名不一定是main.go

建立新目录 hello,把原先hello_world.go文件移动到hello目录中验证package指定的main包是否需要和目录名字一致?
在这里插入图片描述
切换到新路径执行

$ go run hello_world.go
hello world

可以看到依然可以执行,说明文件中的package声明的main名字不需要和目录的名字保持一致,但需要注意的是package声明一定要是main。

三、退出返回值

与其他主要编程语言的差异

  • Go中main函数不支持任何返回值
  • 通过os.Exit 来返回状态
package main

import (
  "fmt"
  "os"
)
func main() {
  fmt.Println("hello world")
  os.Exit(0)
}

终端执行效果为:

$ go run hello_world.go
hello world

返回异常值退出程序

package main

import (
  "fmt"
  "os"
)
func main() {
  fmt.Println("hello world")
  os.Exit(-1)  
}

终端执行效果为:

$ go run hello_world.go
hello world
exit status 4294967295

四、获取命名行参数

与其他主要编程语言的差异

  • main函数不支持传入参数
  • 在程序中直接通过os.Args 获取命令行参数

打印命令行参数

package main

import (
  "fmt"
  "os"
)

func main() {
  fmt.Println(os.Args) //打印命令行参数
  fmt.Println("hello world")
  os.Exit(-1)
}

在终端执行

$ go run  hello_world.go  zhanmin(命令行参数)
[C:\Users\ADMINI~1\AppData\Local\Temp\go-build911438574\b001\exe\hello_world.exe zhanmin]
hello world
exit status 4294967295

判断数组长度,如果大于1将命令行参数输出到内容后面

package main

import (
  "fmt"
  "os"
)

func main() {
  if len(os.Args) > 1 {
    fmt.Println("hello world",os.Args[1])
  }
}

执行效果为:

$ go run hello_world.go zhanmin
hello world zhanmin

关注公众号回复“go教程”关键字获取视频教程:
image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值