登录
首页 >  Golang >  Go问答

函数中未定义参数为 int 的情况(Golang)

来源:stackoverflow

时间:2024-03-17 20:45:31 377浏览 收藏

在 Go 语言中,函数参数的类型应位于变量名称之后。例如,`func insert_first(LL ListNode, Value int)` 是正确的语法,而 `func insert_first(LL ListNode, int Value)` 会导致未定义参数错误。原因是 Go 语言采用类型推断,当类型位于变量名称之后时,编译器可以推断出变量的类型。

问题内容

我正在尝试在 golang 的链接列表中插入第一项。

由于某种原因,我定义为传入参数的 int 是未定义的。当我在 go 演示中运行以下代码时,我得到:

./prog.go:15:36:未定义:值

./prog.go:16:11:未定义:值

package main

import (
    "fmt"
)


// Definition for singly-linked list.
type ListNode struct {
    Val  int
    Next *ListNode
}

func insert_first (LL ListNode, int Value) *ListNode {
   LL.Val = Value
   LL.Next = nil
   return &LL
}


func main() {

    var foo_list *ListNode
    
    foo_list = insert_first (foo_list, 300)

    fmt.Println(foo_list.Val, foo_list.Next)

}

正确答案


在 go 中,类型位于变量名称之后。

func insert_first (ll listnode, int value) *listnode {

应该是

func insert_first (LL ListNode, Value int) *ListNode {

本篇关于《函数中未定义参数为 int 的情况(Golang)》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>