github.com/goplus/gop@v1.2.6/testdata/overloadop1/overloadop.gop (about)

     1  type foo struct {
     2  }
     3  
     4  func (a foo) + (b foo) (ret foo) {
     5  	println "a + b"
     6  	return
     7  }
     8  
     9  func (a foo) - (b foo) (ret foo) {
    10  	println "a - b"
    11  	return
    12  }
    13  
    14  func (a foo) -> (b foo) {
    15  	println "a -> b"
    16  }
    17  
    18  func (a foo) <> (b foo) {
    19  	println "a <> b"
    20  }
    21  
    22  func -(a foo) (ret foo) {
    23  	println "-a"
    24  	return
    25  }
    26  
    27  func ++(a foo) {
    28  	println "a++"
    29  }
    30  
    31  func (a foo) != (b foo) bool {
    32  	println "a != b"
    33  	return true
    34  }
    35  
    36  var a, b foo
    37  var c = a + b
    38  var d = a - b
    39  var e = -a
    40  var f = a != b
    41  println f
    42  a++
    43  a -> b
    44  a <> b