This is a creation in Article, where the information may have evolved or changed.
Go Multi-state function implementation
Go itself is not polymorphic, and cannot write polymorphic or polymorphic methods like Java or C + +. However, using go allows you to write a method of class binding with polymorphic functionality. Why do you say that? Because go uses struct to build classes, different methods are called according to different classes. The following shows how to write polymorphic functions using go.
package mainimport ( "fmt")typestruct{}typestruct{}funcstringstringstring { return x + y}funcintintint { return x + y}func StartPolymorphism() { new(intCase) fmt.Print(" intCase Add: ", number.Add(1, 3"\n") new(strCase) fmt.Print("strCase Add: ", text.Add("Add A""Add B""\n")}func main(){ StartPolymorphism()}
Output Result:
Add4AddAdd AAdd B
Use the struct object type to eliminate the ambiguity of the method. Go cannot write generic or generic methods directly like the Java language. Go has its own language features, mainly for high concurrency.
Welcome to my public number.