Skip to content

Latest commit

 

History

History
20 lines (16 loc) · 854 Bytes

File metadata and controls

20 lines (16 loc) · 854 Bytes

Вызов метода на nil-указателе

Методы могут быть вызваны на nil-получателях, что напоминает статические методы класса в других языках. Если метод корректно обрабатывает nil-получатель, он может выполняться без panic, давая разработчику гибкий механизм обработки состояний и предоставляя дополнительную семантику через поведение методов.

type MyType struct{}

func (a *MyType) Try() { 
    if a == nil {
        println("nil receiver")
        return
    }
    println("method called")
}

func main() {
    var a *MyType
    a.Try()  // Выведет "nil receiver"
}