是否可以为变量分配中缀运算符?
operator := <<
如果是这样,它将如何应用于参数?
最佳答案
不,不可能将运算符存储在变量中。
也许最好的方法是定义一组操作并使用Apply
方法具有包装器结构:
type Operation int
const (
Left Operation = iota
Right
)
type State struct {
Value int
}
func (s *State) Apply(o Operation) {
switch (o) {
case Left:
s.Value = s.value << 1
case Right:
s.Value = s.value >> 1
}
}
sample 使用:
value := State{4} // original value
op := Left
value.Apply(op) // s.Value is now 8
关于go - 如何在golang中为变量分配运算符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46871565/