在Go中设置函数参数类型

And*_*een 11 go

我是Go编程语言的完全初学者,我正在尝试定义一个Go函数的参数类型addStuff,只需添加两个整数并返回它们的总和,但是当我尝试编译函数时,我看到以下错误:

prog.go:6: undefined: a
prog.go:6: undefined: b
prog.go:7: undefined: a
prog.go:7: undefined: b
prog.go:7: too many arguments to return
prog.go:11: addStuff(4, 5) used as value
Run Code Online (Sandbox Code Playgroud)

这是产生此编译器错误的代码:

package main

import "fmt"
import "strconv"

func addStuff(a, b){
    return a+b
}

func main() {
    fmt.Println("Hello," + strconv.Itoa(addStuff(4,5)))
}
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么,在Go中设置参数类型的正确方法是什么?

小智 30

func addStuff(a int, b int) int {
    return a+b
}
Run Code Online (Sandbox Code Playgroud)

这将使类型ab参数int,并具有返回功能int.另一种方法是func addStuff(a, b int) int同时制作类型ab参数int.

我强烈推荐A Tour of Go,它讲授Go的基础知识.

  • +1抵消-1; 这与语言自己的网站上的游览中显示的语法相同.它可能不是"最"的惯用语,但它是正确的,而且不是那么繁重的语言网站,他们不能等到下一个屏幕显示更短的替代品. (5认同)
  • 这也可以写成`func addStuff(a,b int)int` (2认同)