“ ใช้เป็นค่า” ในการเรียกใช้ฟังก์ชัน


122

อะไรคือวิธีที่เหมาะสมในการเรียกใช้ฟังก์ชันเมื่อประเมินค่าในคำสั่งเงื่อนไข

package main
import "fmt"
func main(){
        if sumThis(1,2) > sumThis(3,4){
                fmt.Println("test")
        } else {
                fmt.Println("derp")
        }
}
func sumThis(a, b int){
        return a+b
}

สิ่งนี้ส่งคืนข้อผิดพลาด:

./test4.go:4: sumThis(1, 2) used as value
./test4.go:4: sumThis(3, 4) used as value
./test4.go:11: too many arguments to return

คุณจะเขียนสิ่งนี้ใน Go อย่างไร?


2
ข้อความแสดงข้อผิดพลาดจะดีกว่าเมื่อ: " void function call used as value" หรือ "... ใช้เป็นค่าแต่ไม่ส่งคืนค่า "
Brent Bradburn

คำตอบ:


179

คุณลืมประกาศมูลค่าการคืนสินค้า มันควรจะเป็น:

func sumThis(a, b int) int {
// ...
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.