Golang 学习笔记01 第一个go程序

GO 开发笔记

01 应用程序入口

  1. 必须是main包:package main
  2. 必须是main方法: func main()
  3. 文件名不一定是main.go

GO 语言开发注意事项

  1. package 名字和路径的名字不一定要一致 这一点和java是不同的Golang 学习笔记01 第一个go程序_第1张图片
  2. 应用程序的入口必须是package main 不然就运行不了如图:Golang 学习笔记01 第一个go程序_第2张图片

02 main 退出返回值

  • 与其他主要编程语言的差异
    • Go中的main函数不支持任何返回值
    • 通过os.Exit来返回状态
      示例:
  • 正常退出
package main //包 表明代码所在的位置

import (
	"fmt" // 引入的依赖
	"os"
)

// 功能的实现
func main() {
	fmt.Println("Hello world")
	os.Exit(0)
}

控制台:

mahan-2:hello mh$ go run hello_world.go
Hello world
  • 异常退出
  • 通过下面源码可知非0代表异常退出
func Exit(code int) {
	if code == 0 {
		// Give race detector a chance to fail the program.
		// Racy programs do not have the right to finish successfully.
		runtime_beforeExit()
	}
	syscall.Exit(code)
}
package main //包 表明代码所在的位置

import (
	"fmt" // 引入的依赖
	"os"
)

// 功能的实现
func main() {
	fmt.Println("Hello world")
	os.Exit(-1)
}

控制台:

mahan-2:hello mh$ go run hello_world.go
Hello world
exit status 255

获取命令行参数

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

  • main函数不支持传入参数
    • func main (arg [] string) 这样写法不是编译不通过的
  • 在程序中直接通过os.Args获取命令行参数
    代码示例:
package main //包 表明代码所在的位置

import (
	"fmt" // 引入的依赖
	"os"
)

// 功能的实现
func main() {
	fmt.Println(os.Args) //打印输入的命令行参数
	fmt.Println("Hello world")
	os.Exit(0)
}

运行命令:

go run hello_world.go args

控制台:

[/var/folders/7g/bkyq5v3x0bn2wxqx4bryzcd00000gp/T/go-build773867233/b001/exe/hello_world args]
Hello world
  • 如果文章有帮助到你欢迎关注微信公众号《后端学长》 在这里插入图片描述

你可能感兴趣的:(GO语言学习之路,go语言,第一个go程序,go语言开发)