13.go run

1.go run
	用于运行命令源码文件

	其内部操作步骤是: 
		先编译源码,把编译结果放到临时文件中,编译结果包括 命令源码文件生成的可执行文件,
	  和库源码文件生成的归档文件,然后再运行编译的结果。

	go run命令可以编译并运行命令源码文件。由于它其中包含了编译动作,因此它也可以接受所有可用于go build命令的标记。
	除了标记之外,go run命令只接受Go源码文件作为参数,而不接受代码包.只能接受一个命令源码文件以及若干个库源码文件作为参数

	与go build命令和go install命令一样,go run命令也不允许多个命令源码文件作为参数,即使它们在同一个代码包中也是如此。
  而原因也是一致的,多个命令源码文件会都有main函数声明。

  	如果命令源码文件可以接受参数,那么在使用go run命令运行它的时候就可以把它的参数放在它的文件名后面(不能放在文件名前面):
  	go run showds.go -p arg1
  	在上面的示例中,我们使用go run命令运行命令源码文件showds.go。这个命令源码文件可以接受一个名称为“p”的参数。
  我们用“-p”这种形式表示“p”是一个参数名而不是参数值。它与源码文件名之间需要用空格隔开。参数值会放在参数名的后面,
  两者成对出现。它们之间也要用空格隔开。如果有第二个参数,那么第二个参数的参数名与第一个参数的参数值之间也要有一个空格。以此类推。

  	go run命令只能接受一个命令源码文件以及若干个库源码文件(必须同属于main包)作为文件参数,且不能接受测试源码文件。
  它在执行时会检查源码文件的类型。如果参数中有多个或者没有命令源码文件,那么go run命令就只会打印错误提示信息并退出,而不会继续执行。

    在通过参数检查后,go run命令会将编译参数中的命令源码文件,并把编译后的可执行文件存放到临时工作目录中。

https://github.com/hyper0x/go_command_tutorial/blob/71833ffcab991a2931d3106490d96008f45c3177/0.6.md

猜你喜欢

转载自blog.csdn.net/enlyhua/article/details/82563345
run