当前位置: 首页 > news >正文

乐清网站制作公司哪家好找做课件的网站

乐清网站制作公司哪家好,找做课件的网站,开原网站开发,html静态网站开发Go 常用命令 文章目录 Go 常用命令一、Go 常用命令1.1 go build1.1.1 指定输出目录1.1.2 常用环境变量设置编译操作系统和 CPU 架构1.1.3 查看支持的操作系统和CPU架构 1.2 go test1.3 go vet1.4 go clean1.5 go fmt1.6 go get1.7 go install1.8 go tool1.9 go generate1.10 go…Go 常用命令 文章目录 Go 常用命令一、Go 常用命令1.1 go build1.1.1 指定输出目录1.1.2 常用环境变量设置编译操作系统和 CPU 架构1.1.3 查看支持的操作系统和CPU架构 1.2 go test1.3 go vet1.4 go clean1.5 go fmt1.6 go get1.7 go install1.8 go tool1.9 go generate1.10 godoc1.11 go run 一、Go 常用命令 以下是一些常用的Go命令这些命令可以帮助您在Go开发中进行编译、测试、运行和管理依赖项等任务。 命令描述go bug启动一个用于报告bug的工具。go build编译Go程序包及其依赖项。go clean删除编译生成的对象文件和缓存文件。go doc显示有关包或符号的文档。go env打印有关Go环境的信息。go fix更新包以使用新的API。go fmt使用gofmt重新格式化Go包的源代码。go generate通过处理源代码来生成Go文件。go get将依赖项添加到当前模块并安装它们。go install编译并安装包及其依赖项。go list列出包或模块的信息。go mod用于模块维护,包括初始化模块、添加和更新依赖项等。go work用于工作区维护,例如查看、清理或打印工作区信息。go run编译并运行Go程序。go test运行包的测试。go tool运行指定的Go工具。go version打印Go的版本信息。go vet检查 Go 源码并报告可疑的错误。 1.1 go build Go 是强类型编译型语言因此编译时会将所有依赖编译进同一个二进制文件。 参数介绍 -o 指定输出的文件名可以带上路径例如 go build -o a/b/c-i 安装相应的包编译go install-a 更新全部已经是最新的包的但是对标准包不适用-n 把需要执行的编译命令打印出来但是不执行这样就可以很容易的知道底层是如何运行的-p n 指定可以并行可运行的编译数目默认是CPU数目-race 开启编译的时候自动检测数据竞争的情况目前只支持64位的机器-v 打印出来正在编译的包名-work 打印出来编译时候的临时文件夹名称并且如果已经存在的话就不要删除-x 打印出来执行的命令其实就是和-n的结果类似只是这个会执行-ccflags arg list 传递参数给5c, 6c, 8c 调用-compiler name 指定相应的编译器gccgo还是gc-gccgoflags arg list 传递参数给gccgo编译连接调用-gcflags arg list 传递参数给5g, 6g, 8g 调用-installsuffix suffix 为了和默认的安装包区别开来采用这个前缀来重新安装那些依赖的包-race的时候默认已经是-installsuffix race,大家可以通过-n命令来验证-ldflags flag list 传递参数给5l, 6l, 8l 调用-tags tag list 设置在编译的时候可以适配的那些tag详细的tag限制参考里面的 Build Constraints 新建 main.go 的源文件,键入下面这些代码: package mainimport fmtfunc main() {fmt.Println(你好, 兰州!) }打开终端通过如下命令来编译和运行这个文件了 go build main.go ./main1.1.1 指定输出目录 go build –o [目录] mkdir bin # 创建bin 目录 go build -o bin/hello # 编译hello ./bin/hello # 1.1.2 常用环境变量设置编译操作系统和 CPU 架构 设置编译操作系统 # 设置 GOOS 环境变量为 linux指定目标操作系统为 Linux # 然后使用 go build 编译当前目录中的 Go 代码并将输出文件命名为 bin/hello GOOSlinux go build -o bin/hello ./bin/hello 设置编译CPU架构 # 设置 GOOS 环境变量为 linux指定目标操作系统为 Linux # 设置 GOARCH 环境变量为 amd64指定目标 CPU 架构为 64 位 x86 # 然后使用 go build 编译当前目录中的 Go 代码并将输出文件命名为 bin/hello GOOSlinux GOARCHamd64 go build -o bin/hello1.1.3 查看支持的操作系统和CPU架构 要查看Go支持的所有操作系统和CPU架构的列表您可以查看Go源代码中的 syslist.go 文件。这个文件位于 $GOROOT/src/go/build/syslist.go。下面是一个示例命令用于查看支持列表 cat $GOROOT/src/go/build/syslist.go这将打印出Go支持的操作系统和CPU架构的完整列表。 通过这些示例您可以了解如何在Go中指定输出目录和设置编译操作系统和CPU架构。这些功能非常有用特别是在需要交叉编译或控制输出位置时。 1.2 go test go test 命令用于运行Go程序包中的测试。Go的测试是通过在与被测试的代码文件相同目录下的 _test.go 文件中编写测试函数来完成的。这里介绍几个常用的参数 -bench regexp 执行相应的benchmarks例如 -bench.-cover 开启测试覆盖率-run regexp 只运行regexp匹配的函数例如 -runArray 那么就执行包含有Array开头的函数-v 显示测试的详细命令 以下是使用 go test 命令的基本用法 进入包含要测试的Go代码的目录。确保在该目录下有一个或多个 _test.go 文件其中包含测试函数。测试函数的命名必须以 Test 开头后跟被测试函数的名称并接受一个名为 t *testing.T 的参数。运行以下命令来执行测试 go testgo test 将自动查找并运行当前目录和子目录中的所有测试文件并输出测试结果。它将显示通过的测试数量、失败的测试数量以及测试覆盖率等信息。 如果您想只运行特定的测试文件或测试函数可以在 go test 后面提供测试文件或测试函数的名称。例如要运行名为 TestMyFunction 的测试函数可以执行以下命令 go test -run TestMyFunctiongo test 还支持许多其他标志和选项用于控制测试的行为例如覆盖率分析、并行测试等。您可以使用 go help test 命令查看完整的 go test 文档以获取更多详细信息。 这里简单举个栗子, 新建 main_test.go 的源文件,键入下面这些代码: package mainimport (fmttesting )func add(a, b int) int {return a b } func TestIncrease(t *testing.T) {t.Log(Start testing)result : add(1, 2)if result 3 {fmt.Println(OK)} else {fmt.Println(有问题!)} }这里我们队add 这个函数进行测试,验证输出结果,运行如下命令进行测试: # 运行当前目录及其子目录下的所有测试文件中的测试函数 go test .# 运行指定名称的测试函数例如TestIncrease go test -run TestIncreasego test ./… 运行测试 go test命令扫描所有*_test.go为结尾的文件惯例是将测试代码与正式代码放在同目录同一个包 如 foo.go 的测试代码一般写在 foo_test.go 1.3 go vet go vet 是 Go 编程语言的一个静态分析工具用于检查 Go 代码中可能包含的潜在错误、不规范的代码和常见问题。它的主要目标是帮助开发人员识别和修复可能导致程序运行时错误的问题以提高代码的质量和可靠性。 -all: 执行所有可用的 go vet 检查。默认情况下go vet 只运行一些常见的检查但使用 -all 标志可以启用所有检查。 -shadow: 检查代码中的变量阴影问题。这个标志用于检测局部变量覆盖外部变量的情况。 -printfuncs list: 自定义 Printf 样式函数的检查。您可以指定一个逗号分隔的函数列表go vet 将检查是否正确使用了这些函数来格式化字符串。 -composites: 检查使用复合文字composite literals时的问题。这个标志用于检测复合文字的使用是否符合规范。 -copylocks: 检查复制锁的问题。这个标志用于检测代码中是否存在复制锁以及它们是否正确使用。 -lostcancel: 检查丢失的上下文取消问题。这个标志用于检测代码中是否存在未正确处理的上下文取消。 -methods: 检查接口方法问题。这个标志用于检测接口是否被正确实现。 -printf: 检查格式化字符串问题。这个标志用于检测 Printf 样式的格式化字符串是否正确匹配参数。 -unreachable: 检查不可达代码问题。这个标志用于检测不会被执行的代码块。 -shadowstrict: 启用更严格的变量阴影检查。这个标志用于检测更多的变量阴影情况。 举个简单例子,比如printf调用中的参数不匹配: package mainimport (fmt )func main() {name : testingfmt.Printf(%d\n, name)fmt.Printf(%s\n, name, name) }运行命令: go vet 1.4 go clean 用于清理构建过程中生成的临时文件和构建缓存。它有助于确保项目处于干净的状态删除构建过程中生成的中间文件以便重新构建项目时不会受到旧文件的影响。 参数介绍 -i 清除关联的安装的包和可运行文件也就是通过go install安装的文件-n 把需要执行的清除命令打印出来但是不执行这样就可以很容易的知道底层是如何运行的-r 循环的清除在import中引入的包-x 打印出来执行的详细命令显示 go clean 执行的每个步骤。go clean -testcache: 使用 -testcache 标志来清除测试缓存。这将删除与测试相关的缓存文件。go clean -modcache: 使用 -modcache 标志来清除模块缓存。这将删除模块依赖项的缓存文件。 1.5 go fmt 用于格式化源代码文件以确保它们符合 Go 语言的编码规范和格式化约定。go fmt 命令的主要目的是使代码在不同项目和团队中保持一致的风格提高代码的可读性和可维护性。 参数介绍 -l 显示那些需要格式化的文件-w 把改写后的内容直接写入到文件中而不是作为结果打印到标准输出。-r 添加形如“a[b:len(a)] - a[b:]”的重写规则方便做批量替换-s 简化文件中的代码-d 显示格式化前后的diff而不是写入文件默认是false-e 打印所有的语法错误到标准输出。如果不使用此标记则只会打印不同行的前10个错误。-cpuprofile 支持调试模式写入相应的cpufile到指定的文件 1.6 go get 用于下载、安装和更新 Go 语言包也称为模块以及它们的依赖项。这个命令通常用于获取外部包。 参数介绍 -d 只下载不安装-f 只有在包含了-u参数的时候才有效不让-u去验证import中的每一个都已经获取了这对于本地fork的包特别有用-fix 在获取源码之后先运行fix然后再去做其他的事情-t 同时也下载需要为运行测试所需要的包-u 强制使用网络去更新包和它的依赖包-v 显示执行的命令 看一个实际的例子 在本地通过源码安装 Go 的调试器 Delve可以这么做 go get github.com/go-delve/delve/cmd/dlv1.7 go install 用于编译和安装 Go 包或程序。当你运行 go install 时它会编译当前目录中的 Go 代码并将生成的二进制可执行文件放置在你的 Go 工作空间的 bin 目录中通常位于 GOPATH 中。 参数介绍 -i:安装到GOBIN环境变量指定的目录,默认为GOPATH/bin。-n:打印将要执行的命令,但不执行。-v:显示执行的命令。-x:打印执行的命令及其参数。-work:打印临时工作目录的名称,然后退出。-pcgo:针对cgo enabled的包,调用gcc来编译。-pkgdir:安装完成后的包文件存放目录。-tags:构建标签,用于选择性地编译相应的代码。-trimpath:移除文件名中的GOPATH路径前缀。-mod:模块下载和解析模式,可设为mod、vendor等。 1.8 go tool 用于运行各种Go语言工具,主要的参数包括: -n:打印将要执行的命令,但不执行。-x:打印执行的命令及其参数。-V:打印go tool和执行命令的版本信息。-e:只有在命令执行失败时才打印输出。-json:以JSON格式输出结果。 常见的子命令及其用途: cover:测试覆盖率分析工具。fix:代码迁移工具,可以自动更新旧代码到新语法。fmt:格式化Go代码的工具。vet:源码检查工具,用于发现代码错误。doc:显示包的文档。pprof:分析和查看分析数据。trace:编译时跟踪工具。link:链接器工具,查看二进制文件依赖。addr2line:转换地址为文件/行号。api:Go API处理工具。 1.9 go generate 这个命令是从Go1.4开始才设计的用于在编译前自动化生成某类代码。go generate和go build是完全不一样的命令通过分析源码中特殊的注释然后执行相应的命令。这些命令都是很明确的没有任何的依赖在里面。而且大家在用这个之前心里面一定要有一个理念这个go generate是给开发者用的不是给使用这个包的人用的是方便生成一些代码的。 举一个简单的例子例如经常会使用yacc来生成代码那么常用这样的命令 go tool yacc -o gopher.go -p parser gopher.y-o 指定了输出的文件名 -p指定了package的名称这是一个单独的命令如果想让go generate来触发这个命令那么就可以在当前目录的任意一个xxx.go文件里面的任意位置增加一行如下的注释 //go:generate go tool yacc -o gopher.go -p parser gopher.y这里注意了//go:generate是没有任何空格的这其实就是一个固定的格式在扫描源码文件的时候就是根据这个来判断的。 所以可以通过如下的命令来生成编译测试。如果gopher.y文件有修改那么就重新执行go generate重新生成文件就好。 $ go generate $ go build $ go test1.10 godoc 在Go1.2版本之前还支持go doc命令但是之后全部移到了godoc这个命令下需要这样安装go get golang.org/x/tools/cmd/godoc 很多人说go不需要任何的第三方文档例如chm手册之类的因为它内部就有一个很强大的文档工具。 如何查看相应package的文档呢 例如builtin包那么执行godoc builtin 如果是http包那么执行godoc net/http 查看某一个包里面的函数那么执行godoc fmt Printf 也可以查看相应的代码执行godoc -src fmt Printf 通过命令在命令行执行 godoc -http:端口号 比如godoc -http:8080。然后在浏览器中打开127.0.0.1:8080将会看到一个golang.org的本地copy版本通过它可以查询pkg文档等其它内容。如果设置了GOPATH在pkg分类下不但会列出标准包的文档还会列出本地GOPATH中所有项目的相关文档这对于经常被墙的用户来说是一个不错的选择。 1.11 go run 用于编译并运行 Go 源代码文件。它是一个方便的工具可用于在不需要显式构建可执行文件的情况下直接运行 Go 程序。常用的参数包括: -n:打印执行的命令,但不执行。-x:打印执行的命令及参数。-race:启用数据竞争检测。-gcflags:传递参数给编译器,如优化级别等。-buildmode:指定编译模式,如共享库或插件等。-ldflags:传递参数给链接器。-trimpath:去除输出中的文件路径信息。-memprofile:写入内存概要文件。-cpuprofile:写入CPU概要文件。-blockprofile:写入阻塞概要文件。-timeout:执行超时时间。-args:传递参数给程序,放在最后。 例如: go run -race -ldflags -s -w main.go args此命令会启用竞争检测和移除调试信息,并传递args参数给main.go执行。
http://wiki.neutronadmin.com/news/152050/

相关文章:

  • 在线旅游网站平台有哪些专业的集团网站设计网络
  • 网站制作 成功案例成都本地网站建设
  • 天津房地产网站建设免费的行情网站推荐大全
  • 广州网站开发创意设计公司网站域名在哪买
  • 松江新城网站建设wordpress会员管理插件
  • 网站用户界面ui设计细节网站建设贰金手指下拉壹玖
  • 常用网站推广方法的适用性旅游网站建设经济评价
  • 深圳招聘网站唯美网站建设
  • 怎么建设自己的网站博客做资讯类网站
  • 深圳集团网站建设手机如何强制下载网页视频
  • 丹徒网站建设咨询asp+php+mysql+aspx环境搭建与6种网站安装2
  • access建网站专业的聊城网站建设
  • 帝国网站开发做网站 php j2ee
  • 网站建设记入什么科目网站备案下来以后怎么做网页
  • 各地信息推广平台电脑系统优化软件十大排名
  • 吉林省住房建设保障厅网站公司的网站建设与维护论文
  • 网站的建设会计入哪个科目网站套餐可以分摊吗吗
  • 哪些网站做的比较好的学网站建设工作
  • 黑河网站制作动效做的好的网站
  • 大连网站制作公司曲靖珠江网最新消息
  • 鄱阳做网站上饶便宜的做网站公司
  • 什么叫网站开发应用框架全国工商企业查询网
  • 传媒类网站模板鸣蝉小程序制作平台
  • 专业网站建设维护是什么wordpress取消邮箱
  • 手机怎样建立网站七牛图片样式wordpress
  • 保定哪个公司做网站好怎样进入小程序入口啊
  • 两学一做网站答题网址在网站建设中什么用于搭建页面结构
  • 建设一个很大的视频网站需要多少钱哪里学网站开发好
  • h5手机网站建设哪家好wordpress 调用discuz
  • asp.net建立网站吗网站维护中