Swiftorial Logo
Home
Swift Lessons
Tutorials
Learn More
Career
Resources
Defining Structs in Swift

Defining Structs in Swift

What is a Struct?

A struct in Swift is a flexible and powerful way to create complex data types. It allows you to encapsulate related properties and behaviors into a single cohesive unit. Structs are similar to classes but are value types, which means they are copied when they are assigned or passed to functions.

Defining a Struct

You can define a struct using the struct keyword followed by the name of the struct. Below is the basic syntax:

struct StructName {

     // properties

     // methods

}

Here is an example of defining a simple struct representing a Point in a 2D space:

struct Point {

     var x: Int

     var y: Int

}

Creating Instances of a Struct

Once you have defined a struct, you can create instances of it by calling it like a function and passing any required parameters:

let point = Point(x: 10, y: 20)

This creates a new instance of Point with x set to 10 and y set to 20.

Accessing Properties

You can access the properties of a struct instance using dot notation:

print(point.x) // Output: 10

print(point.y) // Output: 20

Methods in Structs

Structs can also contain methods, allowing you to define behaviors related to the data. Here’s an example of adding a method to the Point struct:

struct Point {

     var x: Int

     var y: Int

     func distanceToOrigin() -> Double {

         return sqrt(Double(x * x + y * y))

     }

}

You can call this method on any instance of Point:

let distance = point.distanceToOrigin()

Conclusion

Structs in Swift provide a powerful way to model data. They encapsulate properties and methods into a single unit, promoting clean and maintainable code. As value types, they offer unique behavior in terms of memory management and data integrity. By mastering structs, you can better structure your Swift applications and leverage the full power of the language.