$ cat function_e.go
package main
import (
"fmt"
)
func plus(a int, b int) int {
var c int
var c = a + b
return c
}
func main() {
summ := plus(1, 2)
fmt.Printf("%d\n", summ)
}
$ go run function_e.go
# command-line-arguments
./function_e.go:9:6: c redeclared in this block
previous declaration at ./function_e.go:8:6
为什么在字符串中声明变量“c”时会出错?
var c int
当您在变量名前加上 时
var
,您已经声明了一个变量。在你的代码中,通过var
在变量前面写两次,c
你声明了两次,这是不允许的,编译器告诉你的。要修复错误,请删除
var c int
第一个声明的行或var
在第二个声明之前删除。