英文:
Why am I seeing this error "./main.go:7:6: syntax error: unexpected mars, expecting ("?
问题
这是我的程序。我正在尝试将一个人的年龄转换为火星上的年龄。看起来一切都没问题,但我仍然遇到了这个错误。
package main
import "fmt"
func main() {
var age int
fmt.Scanln(&age)
func mars(age int) int {
days := age * 365
return days / 687
}
mars_age := mars(age)
fmt.Println(mars_age)
}
这是你的程序的中文翻译。
英文:
Here is my program. I am trying to convert a person's age on mars. It looks everything is fine here but still I am getting this error
package main
import "fmt"
func main() {
var age int
fmt.Scanln(&age)
func mars(age) int{
days := age*365
return days/687
}
mars_age := mars(age)
fmt.Println(mars_age)
}
答案1
得分: 1
尝试:
package main
import "fmt"
func mars(age int) int {
days := age * 365
return days / 687
}
func main() {
var age int
fmt.Scanln(&age)
mars_age := mars(age)
fmt.Println(mars_age)
}
- 命名的
func
必须在同一级别(例如main
、mars
) - 函数参数必须有类型
age int
注意 Go 也允许匿名函数(也称为 lambda)。在这种情况下,你可以在
main
中定义mars
,并将其赋值给一个变量,例如mars := func(age int) int { ... }
英文:
Try:
package main
import "fmt"
func mars(age int) int {
days := age * 365
return days / 687
}
func main() {
var age int
fmt.Scanln(&age)
mars_age := mars(age)
fmt.Println(mars_age)
}
- Named
func
's must be at the same level (i e.main
,mars
) - Function parameters must have types
age int
> NOTE Go permits anonymous functions (aka lambdas) too. In that case, you could define mars
in main
and you could assign it to a variable e.g. mars := func(age int) int { ... }
答案2
得分: 0
请参考这篇帖子,了解如何使用嵌套函数:https://stackoverflow.com/a/42423998/2693654
你需要像这样编写代码:
package main
import "fmt"
func main() {
var age int
fmt.Scanln(&age)
x := func(age int) int {
days := age * 365
return days / 687
}
mars_age := x(age)
fmt.Println(mars_age)
}
英文:
Please see this post on how to use nested functions https://stackoverflow.com/a/42423998/2693654
You need to have something like:
package main
import "fmt"
func main() {
var age int
fmt.Scanln(&age)
x:= func (age int) int {
days := age*365
return days/687
}
mars_age := x(age)
fmt.Println(mars_age)
}
答案3
得分: 0
func main() {
mars := func (参数类型) 返回类型 {
返回 ......
}
返回值 := mars(贝拉 贝拉 贝拉)
}
英文:
func main() {
mars := func (param type) return_type {
return .....
}
returnedValue := mars(bela bela bela)
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论