#go
#Вперед
Вопрос:
Может ли кто-нибудь помочь мне понять прокомментированные строки кода?
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)
}
Комментарии:
1. Первые две объявляют и инициализируют переменные типа myInt ( tour.golang.org/basics/13 ), третий вызывает метод add ( tour.golang.org/methods/1 ).
2. Ваша попытка сделать блок кода жирным шрифтом не работает внутри фрагмента кода. Вы могли бы просто оставить комментарий прямо рядом с этой самой строкой.
3. Экскурсия по Go объясняет язык. Проработайте это.
Ответ №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
of myInt
.
Вот несколько ссылок на это.
— https://tour.golang.org/methods/3
—https://gobyexample.com/methods