02. 一个例子熟悉Go

Go工具/命令

build: compile packages and dependencies

  • 最常用的go command之一, 编译go文件
  • 跨平台编译: env GOOS=linux GOARCH=amd64 go build

install: compile and install packages and dependencies

  • 也是编译,与build最大的区别是编译后会将输出文件打包成库放在pkg下
  • 常用于本地打包编译命令: go install

get: download and install packages and dependencies

  • 用于获取go的第三方包, 通常会默认从git repo 上pull最新的版本
  • 常用命令如: go get -u github.com/go-sql-driver/mysql(从github上获取mysql的driver并安装至本地)

fmt: gofmt(reformat) package sources

  • 类似于C中的lint, 统一代码风格和排版
  • 常用命令如: go fmt

test: test packages

  • 运行当前包目录下的tests
  • 常用命令如: go test 或go test -v等
  • Go的test一般以XXX_test.go为文件名
  • XXX的部分一般为XXX_test.go所要测试的代码文件名。注: Go并没有特别要求XXX的部分必须是要测试的文件名
## 目录结构
├── main.go
└── main_test.go
package main

import (
    "io"
    "net/http"
)

// Print1to20 答应1到20的和
func Print1to20() int {
    res := 0
    for i := 1; i <= 20; i++ {
        res += i
    }
    return res
}

func firstPage(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "<h1>Hello, this is my first page!</h1>")
}

func main() {
    http.HandleFunc("/", firstPage)
    http.ListenAndServe(":8000", nil)
}

package main

import (
    "fmt"
    "testing"
)

func TestPrint(t *testing.T) {
    res := Print1to20()
    fmt.Println("hey")
    if res != 210 {
        t.Errorf("Wrong result of Print1to20")
    }
}
go test -v
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 3,072评论 0 3
  • Tcp/IP通信也是不安全的,在传输的时候也可能出现漏洞 查看正在运行的进程 adb shell ps -A |g...
    远远飘着云阅读 5,188评论 0 0
  • 主要来源:《Go Web编程》 1、go build 作用:compile packages and depend...
    molscar阅读 498评论 0 0
  • Distutils可以用来在Python环境中构建和安装额外的模块。新的模块可以是纯Python的,也可以...
    MiracleJQ阅读 3,237评论 0 1
  • 前言 JSPatch是一个开源项目(Github链接),只需要在项目里引入极小的引擎文件,就可以使用JavaScr...
    coderBing阅读 306评论 1 1

友情链接更多精彩内容