2013-05-29 32 views
7

Tôi là người mới bắt đầu với ngôn ngữ lập trình Go và tôi đang cố gắng xác định các kiểu tham số của hàm Go có tên là addStuff chỉ đơn giản là thêm hai số nguyên và trả về tổng của chúng. lỗi sau khi tôi cố gắng để biên dịch các chức năng:Đặt các kiểu tham số chức năng trong Go

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 

Dưới đây là đoạn code mà sản xuất này lỗi biên dịch:

package main 

import "fmt" 
import "strconv" 

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

func main() { 
    fmt.Println("Hello," + strconv.Itoa(addStuff(4,5))) 
} 

tôi đang làm gì sai ở đây, và cách chính xác để thiết lập là gì loại thông số trong Go?

+4

Xem xét số lượng ngôn ngữ đánh máy có, đây là (theo ý kiến ​​của tôi) là một câu hỏi hợp lệ. – thwd

Trả lời

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

Điều này sẽ làm ab tham số kiểu int, và có chức năng trả về một int. Một giải pháp thay thế là func addStuff(a, b int) int cũng sẽ thực hiện cả hai thông số ab loại int.

Tôi rất khuyên bạn nên A Tour of Go để dạy những điều cơ bản về Go.

+1

điều này cũng có thể được viết dưới dạng 'func addStuff (a, b int) int' – thwd

+4

@jnml bạn biết bạn có thể chỉnh sửa câu trả lời đúng không? (Ngoài ra, đọc ngoài ví dụ mã có thể hữu ích.) –

+0

Tôi chỉ chỉnh sửa câu trả lời của bạn để sửa lỗi đánh máy hoặc không bao giờ thay đổi ý tưởng của bạn. Và vâng, tôi đọc câu trả lời của bạn đầy đủ trước khi viết bình luận trước đó của tôi. Bạn đang bối rối 'thay thế' với 'mã thành ngữ'. – zzzz

Các vấn đề liên quan