2015-12-03 2 views
-1

Я новичок Пойти и наткнулся на эту строку кода при просмотре некоторых других потоков:Что значит _, значит, в Голанге?

if _, err := os.Stat("/path/to/whatever"); os.IsNotExist(err) 

Что делает _, после того, как если бы имели в виду? Указывает, что что-то будет назначено в условии if (как кажется, происходит с ошибкой)? Я не мог найти пример этого синтаксиса в wiki, и мне очень любопытно узнать, для чего он используется.

Вот ссылка на нить я смотрел, если это поможет: How to check if a file exists in Go?

+3

https://golang.org/ref/spec#Blank_identifier - попробуйте сделать немного больше исследований, прежде чем задавать вопрос. – 9000

+0

@ 9000 Да, и [смешно] (https://stackoverflow.com/questions/11227809/why-is-it-faster-to-process-a-sorted-array-than-an-unsorted-array) [вопросы ] (https://stackoverflow.com/questions/927358/how-to-undo-the-last-commits-in-git) [нравится] (https://stackoverflow.com/questions/477816/what-is- the-correct-json-content-type) [this] (https://stackoverflow.com/questions/231767/what-does-the-yield-keyword-do), чтобы получить поддержку. Вся задача StackOverflow - спросить. – Midnightas

ответ

3

Потому что os.Stat возвращает два значения, вы должны иметь где-то получить их, если вы хотите какой-либо из них. _ является заполнителем, который по существу означает «Я не забочусь об этом конкретном возвращаемом значении». Здесь нам остается только проверить ошибку, но не нужно ничего делать с фактической информацией FileInfo Stat.

Компилятор просто выбросит это значение.

+1

Не пишите ответы на дубликаты. Закройте их: http://stackoverflow.com/q/27764421/1090562 –

+0

хорошая точка. Я проголосую и удалю. Кроме того, что я не могу удалить сейчас. – captncraig