Why we should set structure variable to nil after use?
horis233 opened this issue · 1 comments
horis233 commented
Firstly, really appreciate your sharing the collection of Golang technical interview questions, which really help me to learn Golang as a beginner.
I have a question when I read your doubly lined list Implement. I found you will set the structure variable to nil
after using it.
For example, in the following function:
https://github.com/shomali11/go-interview/blob/master/datastructures/linkedlists/doublylinkedlists/doubly_linked_lists.go#L94
// GetIndexOf returns the index of the first occurence
func (s *DoublyLinkedList) GetIndexOf(value interface{}) int {
index := 0
current := s.head
for current != nil {
if value == current.Value {
return index
}
current = current.Next
index++
}
current = nil <-- This line
return -1
}
Will the function cause a leak if it isn't set to nil
?
It is probably a dumb question. Could you shed some light?
Thanks in advance!
shomali11 commented
That is probably unnecessary since the for
loop will exist when the current
is nil
.
Good catch!