Go is a multi-paradigm language that supports procedural, object-oriented, and functional programming styles without enforcing a single model. It uses structs and methods for object-oriented patterns, first-class functions and closures for functional patterns, and standard functions for procedural logic.
// Procedural: Standard function
func add(a, b int) int { return a + b }
// Object-Oriented: Struct with method
type User struct { Name string }
func (u *User) Greet() string { return "Hello, " + u.Name }
// Functional: First-class function and closure
func multiply(factor int) func(int) int {
return func(x int) int { return x * factor }
}