Métodos de funciones en Go
En Go existen tanto funciones como métodos. Un método es una función que contiene un receptor; el receptor puede ser un valor o un puntero de un tipo nombrado o de un tipo struct. Todos los métodos de un tipo dado pertenecen al conjunto de métodos de ese tipo. El formato de sintaxis es el siguiente:
func (variable_name variable_data_type) function_name() [return_type]{
/* 函数体*/
}
A continuación se define un tipo struct y un método de ese tipo:
Ejemplo
package main
import (
"fmt"
)
/* Definir la estructura */
type Circle struct {
radius float64
}
func main() {
var c1 Circle
c1.radius = 10.00
fmt.Println("El área del círculo = ", c1.getArea())
}
// Este método pertenece a los métodos del objeto de tipo Circle
func (c Circle) getArea() float64 {
// c.radius es el atributo del objeto de tipo Circle
return 3.14 * c.radius * c.radius
}
import (
"fmt"
)
/* Definir la estructura */
type Circle struct {
radius float64
}
func main() {
var c1 Circle
c1.radius = 10.00
fmt.Println("El área del círculo = ", c1.getArea())
}
// Este método pertenece a los métodos del objeto de tipo Circle
func (c Circle) getArea() float64 {
// c.radius es el atributo del objeto de tipo Circle
return 3.14 * c.radius * c.radius
}
El resultado de ejecutar el código anterior es:
圆的面积 = 314Otras extensiones
Funciones en Go