为什么下面的代码会抛出意外的func错误?我看到错误./func_correct.go:4:语法错误:意外的功能,期待名称
package main
func (st *Stack) Pop() int {
v := 0
for ix := len (st) - 1; ix >= 0; ix-- {
if v = st[ix]; v != 0 {
st[ix] = 0
return v
}
}
return 0
}
func main() {
Pop()
}
答案 0 :(得分:1)
定义Stack
类型
在main
中创建一个变量
在其上调用Pop
代码:
package main
import "fmt"
type Stack []int
func (st Stack) Pop() int {
v := 0
for ix := len(st) - 1; ix >= 0; ix-- {
if v = st[ix]; v != 0 {
st[ix] = 0
return v
}
}
return 0
}
func main() {
s := Stack{1, 2, 3, 4}
i := s.Pop()
fmt.Println(i)
}