English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

online tools

Golang basic tutorial

Golang control statements

Golang function & method

Golang structure

Golang slice & array

Golang string (String)

Golang pointer

Golang interface

Golang concurrency

Golang exception (Error)

Interface multiple du langage Go

O (file operations)

In Go language, an interface is a collection of method signatures, which is also a type, meaning you can create variables of interface type. In Go language, you can create multiple interfaces in your program using the given syntax:
//type interface_name interface{
}

method signatureNote:

//example
concepts of multiple interfaces
package main
// interface 1
import "fmt"
    details()
}
// interface 2
type AuthorDetails interface {
    articles()
}
// structure
type AuthorArticles interface {
    a_name
    branch
    college
    year int
    salary int
    particles int
    tarticles int
}
//Méthode d'implémentation de l'interface1
func (a author) details() {
    fmt.Printf("Auteur : %s", a.a_name)
    fmt.Printf("\nFilière : %s par date : %d", a.branch, a.year)
    fmt.Printf("\nNom de l'école : %s", a.college)
    fmt.Printf("\nSalaire : %d", a.salary)
    fmt.Printf("\nNombre d'articles publiés : %d", a.particles)
}
// Méthode d'implémentation de l'interface 2
func (a author) articles() {
    pendingarticles := a.tarticles - a.particles
    fmt.Printf("\nArticles à venir : %d", pendingarticles)
}
// Main value
func main() {
    //Affectation de structure
    values := author{
        a_name : "Mickey",
        branch : "Informatique",
        college : "XYZ",
        year :      2012,
        salary :    50000,
        particles : 209,
        tarticles : 309,
    }
    // Accès via l'interface1de la méthode
    var i1 AuthorDetails = values
    i1.details()
    //Accès via l'interface2de la méthode
    var i2 AuthorArticles = values
    i2.articles()
}

Sortie :

Auteur : Mickey
Filière : Informatique par date : 2012
Nom de l'école : XYZ
Salaire : 50000
Nombre d'articles publiés : 209
Articles à venir : 100

Explication de l'utilisation :Comme dans l'exemple ci-dessus, nous avons deux interfaces avec des méthodes, à savoir details() et Articles(). Ici, la méthode details() fournit les informations de base de l'auteur, tandis que la méthode articles() fournit les articles à venir de l'auteur.

Il existe également une structure nommée Auteur (Author) qui contient un ensemble de variables, dont les valeurs sont utilisées dans l'interface. Dans les méthodes principales, nous assignons les valeurs des variables existantes dans la structure de l'auteur afin qu'elles soient utilisées et créons des variables de type interface pour accéderAuthorDetailsetAuthorArticlesMéthodes de l'interface.