Есть ли разница между array и array [:] в Go?

# #go

Вопрос:

boltdb / bolt — это встроенная база данных ключей / значений для Go.

Когда я читаю исходный код bolt, я нахожу следующий код,

 p := db.pageInBuffer(buf[:], pgid(i))
 

из: https://github.com/boltdb/bolt/blob/master/db.go#L350

Но я не могу понять причину, по которой он использует buf[:] вместо buf , может кто-нибудь дать объяснение этому стилю кода?

Комментарии:

1. Обычно, если buf это массив, buf[:] это фрагмент этого массива. Однако в этом случае, buf похоже, это срез, поэтому buf[:] возвращает идентичный срез, так что, похоже, функциональной разницы нет.

2. Спасибо за ваш ответ. да, есть разница, когда мы говорим о array и slice .