client db.Client
config config.Db
}
func (dbTool *DbTool) Disconnect() error {
if dbTool.client != nil {
fmt.Println(dbTool.client)
fmt.Println(dbTool.client == nil)
return dbTool.client.Disconnect()
}
return nil
}
Первый принт <nil>, а второй false, как так?
полагаю, что это интерфейс. Посмотри, как они внутри устроены
Это из-за внутреннего устройства интерфейса, так как таблица типов реализующих интерфейс не нил, а под капотом данные через unsafe.Pointer nil-овые лежат
сама задумка не так. разумнее проверять и после проверки вызывать дисконект без этих финтов
Обсуждают сегодня