У меня есть пакет, содержащий некоторую структуру и функции, связанные с ним:
package samplepkg
type SampleStruct struct {
FirstString string
SecondString string
}
func init() {
// some operations
}
func CheckSomething(s *SampleStruct) bool {
// check something
}
Теперь я пытаюсь запустить эту функцию в другом пакете:
import (
"MyProject/samplepkg"
)
func testFunc() {
var s = samplepkg.SampleStruct{"a", "b"}
if s.CheckSomething() {
// do some operations
}
}
Но я получаю ошибку, что s.CheckSomething не определено. (& s). CheckSomething дает тот же результат. Я могу получить доступ к s.FirstString и s.SecondString, а также использовать этот метод, вызывая
if samplepkg.CheckSomething(&s) {
// do some operations
}
Но я чувствую, что это можно было бы написать лучше. Я знаю, что Go не является объектно-ориентированным языком, но возможен ли такой метод вызова?