【go学习笔记】一、go语言hello world程序开发【连载】

开发环境构建

GOPATH

  1. 在1.8版本前必须设置这个环境变量
  2. 1.8以及更高版本如果没有设置,则使用默认值
    在Mac上GOPATH可以通过修改 ~/.bash_profile来设置

程序基本结构

package main //包,表明代码所在的模块(包)和java以及dotnet 命名空间是相似的

import "fmt" //依赖关系引用 和java以及dotnet的using、import相似

//方法函数
func main(){
  fmt.Println("Hello World!")
}

应用程序入口

  1. 必须是main包:package main
  2. 必须是main方法: func main(){}
  3. 文件名称不强制是main.go,也可以是index.go

退出返回值

  • Go中main函数不支持任何返回值
  • 通过os.Exit来返回状态 需要import “os”
package hello

import (
    "fmt"
    "os"
)

func main() {
    fmt.Println("Hello World")

    os.Exit(-1)
}

执行结果:

go run hello_world.go                
Hello World
exit status 255

获取命令行参数

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

示例代码

package main

import (
    "fmt"
    "os"
)

func main() {
    fmt.Println(os.Args)
    fmt.Println("Hello World")
}

输出结果

$ go run hello_world.go zhang
[/var/folders/zg/0_xcqssx6pj7g8p96ppl66ww0000gn/T/go-build244907203/b001/exe/hello_world zhang]
Hello World

改进后的代码:

package main

import (
    "fmt"
    "os"
)

func main() {
    if len(os.Args)>1 {
        fmt.Println("Hello World",os.Args[1])
    }else {
        fmt.Println("Hello World")
    }
}

输出结果

$ go run hello_world.go zhang
Hello World zhang
示例代码请访问: https://github.com/wenjianzhang/golearning
posted @ 2019-11-15 14:33  wenjianzhang  阅读(227)  评论(0编辑  收藏  举报