Go chapters

Chapter 12 of 17

Objects and Structures

Try this in our Go Compiler →

Grouping related data

When a value is more than a single number — a user with a name, email and age — you want to bundle the fields together under one name. Go provides objects (or structs / records / dictionaries depending on the language) to do exactly that.

```go
type User struct {
    Name string
    Age  int
}

func (u User) Greet() string { return "Hi " + u.Name }

u := User{"Aman", 20} fmt.Println(u.Greet()) ```

Methods

Many languages let an object carry not only data but also functions ("methods") that operate on that data. This style is called object-oriented programming and is the dominant way to organise large programs.

When to make a new type

If you find yourself passing three or four related values into every function — say x, y and z of a 3-D point — that is a clear signal to introduce a new object type that holds them together. The code becomes shorter, safer and easier to extend.

Try it yourself

Go Compiler
Output
Code runs on the Play with Coding execution engine — your code is saved locally for next time.