Use [] to find tag! Example: [flutter, javascript]

Golang - Struct Data Type

Golang - Struct Data Type

access_time 21 December 2024 remove_red_eye 412 Kali spellcheck 623 Kata, 3579 Karakter
#go #golang #data type

In Golang, Struct is a data type that allows you to group multiple data into a single unit. Structs are very similar to “templates” or “blueprints” for creating objects in other programming languages ​​such as Python or Java. With structs, you can store more complex data consisting of various data types.

Why are Structs Important?

Structs are very important for:

  1. Organizing Data: Structs make it easier to manage data that has related attributes.
  2. Improve Readability: Your code will be neater and easier to understand.
  3. Reduce Complexity: You can replace many variables with one struct.

Creating Structs in Golang

Creating structs in Golang is very simple. Here is the basic syntax:

type NameStruct struct {
    Field1DataType
    Field2DataType
    // Add another field here
}

Simple Example Struct

Let's create an example struct called Student:

package main

import "fmt"

// Defining the Student struct
type Student struct {
    Name   string
    ID     string
    Major  string
    Age    int
}

func main() {
    // Creating an instance of the Student struct
    student := Student{
        Name:   "John Doe",
        ID:     "123456",
        Major:  "Computer Science",
        Age:    21,
    }

    // Displaying the data
    fmt.Println("Student Information:")
    fmt.Println("Name:", student.Name)
    fmt.Println("ID:", student.ID)
    fmt.Println("Major:", student.Major)
    fmt.Println("Age:", student.Age)
}

 Output:

Student Information:
Name: John Doe
ID: 123456
Major: Computer Science
Age: 21

How to Access and Modify Structs

After creating a struct, you can access or modify its field values ​​like this:< /p>

student.Name = "Jane Doe" // Updating the name
fmt.Println(student.Name) // Output: Jane Doe

Struct within a Struct (Nested Struct)

You can also embed a struct within another struct. For example:

type Address struct {
    City     string
    Province string
}

type Student struct {
    Name    string
    ID      string
    Address Address
}

Using it:

student := Student{
    Name: "Alice",
    ID:   "789123",
    Address: Address{
        City:     "New York",
        Province: "New York",
    },
}
fmt.Println("City:", student.Address.City) // Output: City: New York

Methods in Structs

Golang allows you to add functions to structs using method. Example:

func (s Student) DisplayInfo() {
    fmt.Printf("Name: %s, ID: %s\n", s.Name, s.ID)
}

func main() {
    student := Student{
        Name: "Emily",
        ID:   "654321",
    }
    student.DisplayInfo() // Output: Name: Emily, ID: 654321
}

Struct vs Class

If you come from an OOP (Object-Oriented Programming) background, structs in Golang are similar to classes, but without the concept of inheritance. Golang places more emphasis on composition than inheritance.

Creative Tips for Using Structs

1. Use Structs for API Response

Structs are often used to map JSON data from APIs.

Example: 

type APIResponse struct {
    Status  string `json:"status"`
    Message string `json:"message"`
}

2. Structs for Form Validation

You can create structs to represent user inputted data.

Conclusion

Structs are a very useful tool. Powerful in Golang for storing complex data in an organized manner. By understanding and utilizing structs, you can create code that is neater, easier to understand, and efficient. Remember, structs are not just collections of data, but also the foundation for building more complex applications in Golang.

Have fun learning and experimenting with structs! 🚀

Navigasi Konten