aller aux questions d'entretien linguistique

1. Que produit le code suivant ?

func main() {
    
    
    count := 0
    for i := range [256]struct{
    
    }{
    
    } {
    
    
        m, n := byte(i), int8(i)
        if n == -n {
    
    
            count++
        }
        if m == -m {
    
    
            count++
        }
    }
    fmt.Println(count)
}

Réponse de référence et analyse : 4. Point de connaissance : débordement numérique. Lorsque la valeur de i est 0, la valeur est égale à 128. Notez que byte est un alias de uint8.

2. Que produit le code suivant ?

const (
    azero = iota
    aone  = iota
)

const (
    info  = "msg"
    bzero = iota
    bone  = iota
)

func main() {
    
    
    fmt.Println(azero, aone)
    fmt.Println(bzero, bone)
}

Réponse de référence et analyse : 0 1 1 2. Point de connaissance : l'utilisation de iota. Le point sujet aux erreurs de cette question réside dans les valeurs de bzero et bone.Dans un bloc de code de déclaration de constante, si iota n'apparaît pas dans la première ligne, la valeur initiale de la constante est une valeur non nulle.

3. Plusieurs noms de package de fichiers au même niveau ne sont pas autorisés, est-ce correct ?

A. vrai
B. faux
Réponse de référence et analyse : A. Il ne peut y avoir qu'un seul package dans un dossier et il peut y avoir plusieurs fichiers .go, mais ces fichiers doivent appartenir au même package.

4. Qu'est-ce qui ne va pas avec le code suivant, veuillez expliquer.

type data struct {
    
    
    name string
}

func (p *data) print() {
    
    
    fmt.Println("name:", p.name)
}

type printer interface {
    
    
    print()
}

func main() {
    
    
    d1 := data{
    
    "one"}
    d1.print()

    var in printer = data{
    
    "two"}
    in.print()
}

Réponse de référence et analyse : erreur de compilation.

cannot use data literal (type data) as type printer in assignment:
data does not implement printer (print method has pointer receiver)

Les données de type de structure n'implémentent pas l'imprimante d'interface. Point de connaissance : interface.

おすすめ

転載: blog.csdn.net/abc54250/article/details/130757552