登录
首页 >  Golang >  Go问答

2个内容相同的go语言源程序,一个能够编译,另一个却报错了,求解?

来源:SegmentFault

时间:2023-01-09 12:44:10 252浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《2个内容相同的go语言源程序,一个能够编译,另一个却报错了,求解?》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下go,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

新手学习golang,写了个斐波那契数列计算程序(内容见下),刚开始时编译成功了,运算正常。后来改了下:增加了些东西,把文件名也改了,再编译时报错了,最后再把文件内容改回到刚编译成功时的内容,仍然编译报错。然后又新写了个同样的内容的程序,编译成功。现在,2个两样内容的源程序,一个能够编译,另一个编译则报错。
报错的一个为fib_test.go

love@oss122:~> cat fib_test.go package main import "fmt" func fib(n int) (ret int) { if n 0 { fmt.Printf("fib(40)= %d", result) } }

编译时报错信息:

love@oss122:~> go build fib_test.go # command-line-arguments runtime.main: undefined: main.init runtime.main: undefined: main.main

另一个内容相同的文件为

love@oss122:~> cat fib_test_gofmt.go package main import "fmt" func fib(n int) (ret int) { if n 0 { fmt.Printf("fib(40)= %d", result) } }

能够成功编译:

love@oss122:~> diff fib_test.go fib_test_gofmt.go love@oss122:~> love@oss122:~> go build fib_test_gofmt.go love@oss122:~> ll fib_test_gofmt -rwxr-xr-x 1 love users 1270385 1月 9 19:14 fib_test_gofmt love@oss122:~> time ./fib_test_gofmt fib(40)= 102334155 real 0m3.554s user 0m3.546s sys 0m0.004s

正确答案

golang中文件名是有用的,文件名后缀为_test.go的都是单元测试文件

今天带大家了解了go的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

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