• Go语言学习 (一)


    1 工作区

    • 工作区是Go中的一个对应于特定工程的目录,其包括src,pkg,bin三个目录
      在这里插入图片描述
    • src:用于以代码包的形式组织并保存Go源码文件。(比如:.go .c .h .s等)
    • pkg:用于存放经由go install命令构建安装后的代码包(包含Go库源码文件)的“.a”归 档文件。
    • bin:与pkg目录类似,在通过go install命令完成安装后,保存由Go命令源码文件生成 的可执行文件。

    注意

    1. 目录src用于包含所有的源代码,是Go命令行工具一个强制的规则,而pkg和bin则无需
      手动创建,如果必要Go命令行工具在构建过程中会自动创建这些目录。
    2. 只有当环境变量 GOPATH 中只包含一个工作区的目录路径时,go install命令才会把命 令源码安装到当前工作区的bin目录下。若环境变量 GOPATH 中包含多个工作区的目录 路径,像这样执行go
      install命令就会失效,此时必须设置环境变量GOBIN。
    • 工作区如何设置(windows版)

    工作区设置路径为环境变量中的GOPATH 就是存放我们代码的地方;GOROOT是我们go语言的安装目录

    在这里插入图片描述

    2 Hello world

    下面就用IDE工具,开发第一个GO程序。
    Go 语言源文件的扩展是 .go
    具体步骤如下:

    package main
    
    import "fmt"
    
    func main() {
    	fmt.Println("Hello World!")
    	fmt.Println("欢迎来到heun")
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    直接点击绿色的小三角符号就可以run我们的go程序了

    在这里插入图片描述

    3 命令编译过程

    命令如下:

    • 编译命令:go build xxx.go 得到可执行程序后可以直接运行
      在这里插入图片描述

    • 编译生成可执行程序并运行:go run xxx.go
      在这里插入图片描述

    4.常用命令

    go version

    • 获取系统安装go语言版本号

    go build

    • 编译项目,使其打包成可运行程序,配合参数可以进行交叉编译
    • 标准格式
      go build [-o output] [-i] [build flags] [packages]

    -o 参数决定了编译后文件名称,例如我们要程序main.go编译后程序名为hello,我们可以执行以下命令

    go build -o hello main.go #将main.go build后的可执行程序命名为hello
    
    • 1
      -i install 安装作为目标的依赖关系的包(用于增量编译提速),一般很少使用。
    
    • 1

    packages
    所编译的包名,如果不填写默认为编译当前路径下的入口文件,文件名称默认为 当前文件夹名称

    go env

    • 查看当前系统内go相关的环境变量信息

    go test

    • Go语言自带的测试工具,会自动读取源码目录下面名为 xxx_test.go 的文件,生成并运行测试 用的可执行文件
    • 原则
      文件名必须是 _test.go 结尾的,这样在执行 go test 的时候才会执行到相应的代码
      必须 import testing 这个包
    • 可执行原则

    所有的测试用例函数必须是 Test 开头
    测试用例会按照源代码中写的顺序依次执行 测试函数 TestXxx() 的参数是
    testing.T ,我们可以使用该类型来记录错误或者是测试状态
    测试格式: func TestXxx (t *testing.T) , Xxx 部分可以为任意的字母数字的组合,但是首字母不能是小写字母[a-z]
    函数中通过调用 testing.T 的 Error, Errorf, FailNow, Fatal, FatalIf 方法,说明测试不通过,调用 Log 方法用来记录测试的信息。

    在这里插入图片描述

    • 执行命令行查看测试结果

    go test -v class_test.go
    在这里插入图片描述

    • === RUN TestHelloWorld 表示开始运行名叫 TestHelloWorld 的测试用例
    • — PASS: TestHelloWorld (0.00s) 表示已经运行完 TestHelloWorld 的测试用例,PASS 表示当前方法测试成功,如果是FAIL 表示当前方法测试失败,时间表示这个测试用例所使用的时间
    • ok command-line-arguments 0.005s 表示整体测试结果,ok 表示所有被测试方法测试通过,如果是FAIL则表示测试失败,command-line-arguments 是测试 用例需要用到的一个包名,0.005s
      表示测试花费的时间。
  • 相关阅读:
    Spring、MyBatis框架和Redis数据库介绍 第3关:Redis数据库简介
    将VMProtect集成到应用程序教程之实模式(三):测试结果
    从零到一手写迷你版Vue
    Vue(三)——组件化编程
    SolidWorks快捷键
    Linux结构目录说明以及相关作用【重点】
    MB51选择屏幕与报表增强
    做BI开发,为什么一定要熟悉行业和企业业务?
    含文档+PPT+源码等]精品基于Uniapp+SSM实现的作业管理app[包运行成功]SSM毕业设计安卓项目源码
    【JQuery】JQuery入门——JQuery 插件-validation
  • 原文地址:https://blog.csdn.net/qq_45875349/article/details/127652924