Maison  >  Article  >  développement back-end  >  requête golang avec des conditions différentes

requête golang avec des conditions différentes

PHPz
PHPzoriginal
2023-05-09 21:58:07611parcourir

Alors que Golang est de plus en plus largement utilisé dans les applications d'entreprise, l'interrogation de données est également devenue une exigence importante. C'est différent de la manière d'interroger dans d'autres langages. Cet article explique comment utiliser Golang pour interroger avec différentes conditions.

Types de Golang

Dans Golang, différents types de données sont disponibles, notamment :

  • string : type de chaîne
  • int : type entier
  • float : type à virgule flottante
  • bool : type booléen
  • struct : Type de structure

Pour différents types de données, nous pouvons utiliser différentes méthodes de requête.

Requête à condition unique

La requête à condition unique est la méthode de requête la plus simple et la plus courante. Par exemple, nous devons interroger les étudiants âgés de 18 ans à partir d’une liste d’étudiants.

type Student struct {
    Name string
    Age  int
}
var students []Student
// 初始化students
for _, student := range students {
    if student.Age == 18 {
        fmt.Println(student.Name)
    }
}

En définissant un type de structure Étudiant, puis en recherchant les étudiants dont l'âge est égal à 18 ans dans la boucle.

Si nous avons besoin de récupérer un champ de type chaîne, nous pouvons utiliser la fonction strings.HasPrefix ou strings.HasSuffix. Par exemple, pour interroger une liste de films pour les films dont les noms commencent par "Harry Potter":

type Movie struct {
    Name string
    Year int
}
var movies []Movie
// 初始化movies
for _, movie := range movies {
    if strings.HasPrefix(movie.Name, "Harry Potter") {
        fmt.Println(movie.Name)
    }
}

En utilisant la fonction strings.HasPrefix et les instructions conditionnelles de branche (instructions if), nous pouvons trouver ces films.

Requête multi-conditions

La requête multi-conditions doit prendre en compte plusieurs champs différents pour renvoyer un résultat. Par exemple, si nous avons une liste de commandes, nous devons récupérer les commandes pour une date précise et pour un client spécifique.

type Order struct {
    OrderID    int
    CustomerID int
    Date       time.Time
}
var orders []Order
// 初始化orders
for _, order := range orders {
    if order.CustomerID == 123 && order.Date == time.Date(2021, 1, 1, 0, 0, 0, 0, time.Local) {
        fmt.Println(order.OrderID)
    }
}

Dans l'exemple ci-dessus, nous avons utilisé l'opérateur logique && pour vérifier si deux conditions sont vraies en même temps.

Requête de plage

Dans certains cas, nous devons interroger des données dans une plage, ce qui nécessite l'utilisation d'opérateurs de comparaison. Par exemple, interrogez un élève dont les notes sont comprises entre 80 et 90 :

type Score struct {
    Name  string
    Grade float64
}
var scores []Score
// 初始化scores
for _, score := range scores {
    if score.Grade >= 80 && score.Grade < 90 {
        fmt.Println(score.Name)
    }
}

Dans l'exemple ci-dessus, nous avons utilisé les opérateurs de comparaison >= et < car nous devons interroger les notes entre 80 et 90, et exclut 90.

Requête floue

La requête floue est une méthode de requête très courante, généralement utilisée pour rechercher des données contenant des caractères ou des chaînes spécifiques dans la chaîne. Par exemple, interrogez une liste de films pour les films contenant la chaîne "Avengers":

type Movie struct {
    Name string
    Year int
}
var movies []Movie
// 初始化movies
for _, movie := range movies {
    if strings.Contains(movie.Name, "Avengers") {
        fmt.Println(movie.Name)
    }
}

Dans l'exemple ci-dessus, nous avons utilisé la fonction strings.Contains pour vérifier si la chaîne contient la sous-chaîne spécifiée.

Autres méthodes de requête

En plus des méthodes ci-dessus, Golang fournit également davantage de méthodes de requête, telles que l'utilisation de la correspondance d'expressions régulières, l'utilisation d'une carte pour interroger des données, etc. En fonction des différents besoins et types de données, nous pouvons choisir différentes méthodes de requête.

Conclusion

Cet article présente différentes méthodes de requête dans Golang, notamment la requête à condition unique, la requête multi-conditions, la requête par plage, la requête floue, etc. Comprendre ces méthodes de requête peut nous aider à utiliser Golang pour interroger et traiter les données plus efficacement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:installation de golang1.12Article suivant:installation de golang1.12