Почему переменная типа *uint, в котором лежит nil, в блоке условия value != nil возвращает true?
                  
                  
                  Есть вот такой метод:
                  
                  
                  
                  
                  
                  
                  
                  
                  func doSomething(value interface{}) {
                  
                  
                     if value != nil {
                  
                  
                     }
                  
                  
                  }
                  
                  
                  
                  
                  
                  
                  
                  
                  Вызываю его следующим образом:
                  
                  
                  
                  
                  
                  var myVar *uint = nil
                  
                  
                  doSomething(myVar)
                  
                  
                  
                  
                  
                  
                  
                  
                  В результате условный блок выполняется, хотя не должен
                  
                  
                
Спасибо
Обсуждают сегодня