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

GO 开发笔记

01 应用程序入口

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

GO 语言开发注意事项

  1. package 名字和路径的名字不一定要一致 这一点和java是不同的在这里插入图片描述
  2. 应用程序的入口必须是package main 不然就运行不了如图:在这里插入图片描述

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
发布了59 篇原创文章 · 获赞 30 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_33249725/article/details/102637522