Añadir métodos a una struct
Dote de comportamiento a su tipo.
Añadir métodos a una struct es una lección gratuita de Mojo Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Mojo Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Mojo Academy incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Data Plus Behavior
So far your struct only holds data. A method is a function that lives inside the struct and gives your type behavior. 🚀
Methods Live Inside
You write a method by defining a function indented inside the struct, right alongside its fields and __init__.
struct Point:
var x: Int
var y: Int
fn show(self):
print(self.x, self.y)self Comes First
A method's first parameter is self, the instance it was called on. Through self the method reads and uses the struct's own fields.
fn show(self):
print(self.x)Calling a Method
You call a method with dot syntax on an instance. Mojo passes that instance in as self automatically for you.
var p = Point(3, 4)
p.show()Methods Can Return Values
Like any function, a method can return a result. Declare the return type after an arrow and hand back a value.
fn sum(self) -> Int:
return self.x + self.yMethods Take Arguments Too
After self, a method can accept more arguments, just like a normal function, to work with extra data the caller provides.
fn scaled(self, factor: Int) -> Int:
return self.x * factorRead-Only by Default
A plain self parameter is borrowed, so the method can read fields but not change them. This keeps your data safe.
Mutating with mut self
To let a method change the instance, mark the parameter mut self. Now assignments to self.x actually update the value.
fn move_right(mut self, step: Int):
self.x += stepMethods Build on Each Other
One method can call another through self, so you compose small behaviors into larger ones without repeating code.
fn report(self):
print(self.sum())Encapsulation in Action
Keeping fields and the methods that use them in one struct is encapsulation. The type owns both its data and how that data behaves.
A Struct That Does Work
Here a Point both stores coordinates and reports their sum. Your type is now active, not just a passive data container.
struct Point:
var x: Int
var y: Int
fn sum(self) -> Int:
return self.x + self.yQuick Check
Let us check what you know about methods.
Recap
You gave your struct methods that read and even mutate its fields. Next you will compare Mojo structs with Python classes. 🧩
Preguntas frecuentes
¿La lección «Añadir métodos a una struct» es gratis?
Sí — el texto completo de «Añadir métodos a una struct» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Mojo Academy, actualiza a CoddyKit PRO. El curso de Mojo Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Añadir métodos a una struct»?
Dote de comportamiento a su tipo. Practicas Mojo Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Mojo Academy?
No se requiere experiencia previa. Mojo Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Añadir métodos a una struct»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Mojo Academy?
Sí. Cada lección de Mojo Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Definir una struct
- Campos y el método __init__
- Añadir métodos a una struct
- Structs frente a clases de Python