• GO 语言入门(一)


    GO 语言入门(一)

    本文写于 2020 年 1 月 18 日

    Go 由 Google 工程师 Robert Griesemer,Rob Pike 和 Ken Thompson 设计的一门编程语言,第一个版本于 2012 年 3 月作为开源发布。

    它是一种静态类型并发型编译语言,并具有垃圾回收功能。

    Go 语言支持交叉编译,即可在 Windows 上编译 Linux 版本、Mac 上编译 Windows 版本。

    Go 的语法接近 C 语言。与 C++相比,Go 并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了切片(Slice) 型、并发、管道、垃圾回收功能、接口等特性的语言级支持。

    安装与配置

    首先于官网下载对应系统的 Go,并配置环境变量。

    环境变量的配置主要有两点:GOPATHGOROOT

    GOROOT 是 Go 的路径。而 Go 中的工作空间由环境变量「GOPATH」定义。Go 希望你写的任何代码都将写在此工作区内。

    在新版本中,GOPATH 可以有多个,加上 GO111MODULE 的加入,让初学者超级摸不着头脑。

    因此我们可以先不管 GO111MODULE 和多个 GOPATH 一说,只需要建立一个 GOPATH 用作学习即可。

    export PATH="PATH-TO-YOUR-GO/bin:$PATH"
    export GOPATH="自定义一个文件夹,文件夹下新建 src bin pkg 三个文件夹"
    export PATH="$GOPATH/bin:$PATH"
    

    模块化

    Go 的模块化声明类似于 Java,都是以 package xxx 声明的。

    项目必须拥有一个入口文件,声明 packagemain

    // main.go
    package main
    

    与 Java 的万物皆对象类似,我们需要引入一些包实现具体的功能。例如控制台输出:

    // main.go
    package main
    
    import "fmt"
    
    func main(){
      fmt.Println("Hello World!")
    }
    

    fmt 是 Go 中的内置包,它实现了格式化 I/O 的功能。

    如果需要引入多个包时,可以多次书写 import,或者是分行写:

    import "a"
    import "b"
    import "c"
    // 或者是
    import (
      "a"
      "b"
      "c"
    )
    

    func 是 go 的函数生命语句,main 则是主函数,是 go 运行时第一个执行的函数。

    在函数外,go 只能执行少量的语句,例如声明变量、声明 package、import 包……

    运行 go

    我们可以通过两种方式运行 Go 命令,run 与 build。

    go run main.go 可以直接运行 Go 程序。

    但 Go 是一种编译语言,所以我们首先需要在执行之前编译它。

    上面这种方法并非没有编译,只是帮我们省略了编译而已。

    go build main.go 会帮我们编译代码,创建一个二进制可执行文件 main——在 Windows 上创建的应该是 main.exe。我们运行该可执行文件,即可运行 Go 程序。

    变量声明

    Go 是一种静态类型的语言,这意味着在声明变量时我们就需要明确变量的类型。

    var 声明

    一般一个变量的定义如下:

    var a int
    

    这样我们就定义好了一个 int 类型的变量 a。默认 a 会被赋值成 0。

    自动类型推断

    使用以下语法可以初始化改变变量的值:

    var a = 1
    

    这里我们没有制定变量 a 的类型,但是在我们给它初始化为 1 时,它就自动被定义成了 int 类型的变量。

    := 操作

    或者我们认为 var 过于麻烦,就可以用 := 来进行更简单的定义与赋值。

    message := "hello world"
    

    声明多个变量

    声明多个变量:

    var (
      a int
      b string
      c = "hello"
    )
    

    常量

    常量与变量的声明方法类似,除了声明方法为 const

    const pi = 3.14
    

    与变量的区别在于,常量一旦声明就无法改变

    (完)

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Node Exporter监控指标
    Prometheus组件介绍
    记录阿里云安全组设置遇到的奇葩问题--出口ip
    7.prometheus监控多个MySQL实例
    使用Docker Compose部署SpringCloud项目docker-compose.yml文件示例
    Docker Compose的安装及命令补全
    如何调试 Docker
    Dockerfile 最佳实践
    Docker 命令查询
    Docker常见问题
  • 原文地址:https://www.cnblogs.com/xhyccc/p/14332822.html
Copyright © 2020-2023  润新知