为了账号安全,请及时绑定邮箱和手机立即绑定

写了个斐波那契数列计算程序(内容见下),刚开始时编译成功了,运算正常,后面如下:

写了个斐波那契数列计算程序(内容见下),刚开始时编译成功了,运算正常,后面如下:

Go
ITMISS 2023-04-18 23:19:57
后来改了下:增加了些东西,把文件名也改了,再编译时报错了,最后再把文件内容改回到刚编译成功时的内容,仍然编译报错。然后又新写了个同样的内容的程序,编译成功。现在,2个两样内容的源程序,一个能够编译,另一个编译则报错。报错的一个为fib_test.golove@oss122:~>  cat fib_test.gopackage mainimport "fmt"func fib(n int) (ret int) { if n < 2 { return n } else { return fib(n-1) + fib(n-2) } return}func main() { var result int result = fib(40) if result > 0 { fmt.Printf("fib(40)= %d", result) } }编译时报错信息:love@oss122:~> go build fib_test.go # command-line-argumentsruntime.main: undefined: main.initruntime.main: undefined: main.main另一个内容相同的文件为love@oss122:~> cat fib_test_gofmt.gopackage mainimport "fmt"func fib(n int) (ret int) { if n < 2 { return n } else { return fib(n-1) + fib(n-2) } return}func main() { var result int result = fib(40) if result > 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)= 102334155real 0m3.554s user 0m3.546s sys 0m0.004s
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

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

查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信