登录
首页 >  Golang >  Go问答

go中如何清除执行缓存

来源:stackoverflow

时间:2024-04-25 23:45:36 155浏览 收藏

哈喽!今天心血来潮给大家带来了《go中如何清除执行缓存》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

当我使用flag包时

// main.go

import (
  ...
  "flag"  
)

func main() {
  ...
  flag.parse()

  switch flag.arg(0) {
  case "dosomething1":
    ...
  case "dosomething2":
    ...
  }

}

如果 dosomething1 参数为我打印一些错误消息,无论我修复源代码,它都无法删除旧的错误代码并再次编译。

// command-line

# go build ./main.go
# ./main doSomething1
# error doSomething1 can not work

-- I fix my code

# ./main doSomething1
# error doSomething1 can not work

-- the error message also show me again
-- I have to delete main and build again

# rm ./main
# go build ./main.go
# ./main.go doSomething1
# doSomething1 now can work

解决方案


go 是 compiled language。当您运行 go build 时,它将编译您的源代码并创建可执行二进制文件。这是执行 时运行的内容。/main dosomething1

当您更改源代码并运行 ./main dosomething1 时,您不会再次编译,只需运行之前构建的(且未更改的)二进制文件。

要快速测试更改,请改用 go run

go run main.go doSomething1

这将始终编译您的源代码,在临时文件夹中构建二进制文件,启动它并在应用程序退出后清除它。

详情请见What does go build build?

好了,本文到此结束,带大家了解了《go中如何清除执行缓存》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>