• 编写第一个Go程序


    编写第一个Go程序

    1. 开发环境构建

    在Go语言中,开发环境的构建需要设置GOPATH环境变量。在1.8版本之前,必须显式设置GOPATH环境变量。而在1.8版本及之后,如果没有设置GOPATH,Go将使用默认值。
    在Unix系统上,默认值为$HOME/go,而在Windows系统上,默认值为%USERPROFILE%/go。
    在MAC上GOPATH可以通过修改 ~/.bash_profile来设置。
    查询go版本

    2. 基本程序结构

    Go程序的基本结构包括包声明、引入依赖和功能实现。以下是一个简单的Go程序示例:

    来自云尔Websites CSDN博客

    package main // 包声明,表示代码所在的模块(包)
    
    import "fmt" // 引入代码依赖
    
    // 功能实现
    func main() {
        fmt.Println("Hello World!")
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3. 应用程序入口

    在Go语言中,应用程序的入口必须是main包:package main。
    这意味着必须有一个文件名为main.go的文件,并且该文件必须属于main包,入口函数必须是main函数:func main()
    文件名不一定是main.go。

    4. 退出返回值

    在Go语言中,main函数不支持任何返回值。如果需要返回程序的状态,可以使用os.Exit函数来实现。例如:

    package main
    
    import (
        "fmt"
        "os"
    )
    
    func main() {
        fmt.Println("Hello World!")
        os.Exit(0) // 返回状态为0表示程序正常退出,来自云尔Websites CSDN博客
    }
    
    [来自云尔Websites CSDN博客 ](https://blog.csdn.net/websites/category_12448757.html)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    5. 获取命令行参数

    在Go语言中,main函数不支持传入参数。如果需要获取命令行参数,可以使用os.Args切片来获取。以下是一个示例:

    package main
    
    import (
        "fmt"
        "os"
    )
    
    func main() {
        fmt.Println("命令行参数:", os.Args)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在程序中直接通过os.Args切片来获取命令行参数。os.Args是一个字符串切片,其中第一个元素是程序的名称,后续元素是传递给程序的命令行参数。

    6. 运行程序

    执行Go程序:

    go run test.go
    
    • 1

    使用 go build 命令来生成二进制文件:

    go build test.go 
    ./test
    
    • 1
    • 2

    go build命令的使用

    学习Go语言主要是多练,多找些代码段写写,不懂可以私聊咨询。

    欢迎关注云尔Websites CSDN博客

    欢迎进入Golang交流社区

  • 相关阅读:
    【推荐系统】特征处理
    数据结构难题小解析
    java-net-php-python-ssm巴音学院餐饮安全与卫生防御管理系统计算机毕业设计程序
    深信服AC设备用户认证
    另眼看数据中台
    golang grpc——header和trailer元数据传输
    K8S(一)
    栈和队列的练习题
    弱网神器:quic-tun(在存在丢包的网络环境中成倍的提升 TCP 性能)
    网络网络层之(1)IPv4地址
  • 原文地址:https://blog.csdn.net/wuchengzeng/article/details/133185352