有人可以帮助我理解注释的代码行吗?
package main
import "fmt"
type myInt int
func (a myInt) add(b myInt) myInt {
return a + b
}
func main() {
num1 := myInt(5) // mark - 1
fmt.Println(num1)
num2 := myInt(10) // mark - 2
fmt.Println(num2)
sum := num1.add(num2) // mark - 3
fmt.Println("Sum is", sum)
}
答案 0 :(得分:1)
type myInt int
func (a myInt) add(b myInt) myInt {
return a + b
}
...
num1 := myInt(5)
num2 := myInt(10)
sum := num1.add(num2)
在这里,type myInt int
定义的类型就像
type myStruct struct {
...
}
num1 := myInt(5)
定义了myInt
类型的变量,您也可以将其视为类型转换。
sum := num1.add(num2)
只是在调用method
类型的myInt
。
这里有一些有关此的参考。
-https://tour.golang.org/methods/3
-https://gobyexample.com/methods