Я пишу vector.go
как часть своей программы. Он предоставляет трехмерную структуру vector
и некоторые векторные операции.
Для симметрии с общим типом vector
я хотел бы предоставить тип scalar
:
type scalar float64
Мне это нравится, потому что нет причин, по которым я должен каждый раз указывать точность моих скаляров. Тот факт, что они 64-битные, — это деталь, которую я хотел бы уточнить только один раз.
Единственная проблема в том, что я знаю, что это не похоже на typedef
в C. Кажется, за кулисами происходит нечто большее, чем это. Мой вопрос: повлечет ли это какие-либо накладные расходы? Если да, то когда и сколько? Могу ли я использовать это, когда производительность абсолютно критична? (Предположим, что я заменю каждое вхождение float64
на scalar
и преобразую литералы, например, scalar(1.0)
.)