github.com/goplus/gop@v1.2.6/testdata/overloadop2/overloadop.gop (about) 1 type foo struct { 2 } 3 4 func (a foo) mulInt(b int) (ret foo) { 5 println "a * int" 6 return 7 } 8 9 func (a foo) mulFoo(b foo) (ret foo) { 10 println "a * b" 11 return 12 } 13 14 func intMulFoo(a int, b foo) (ret foo) { 15 println "int * b" 16 return 17 } 18 19 func (foo).* = ( 20 (foo).mulInt 21 (foo).mulFoo 22 intMulFoo 23 ) 24 25 var a, b foo 26 var c = a * 10 27 var d = a * b 28 var e = 10 * a