ir preguntas de la entrevista de idioma

1. ¿Qué genera el siguiente código?

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)
}

Respuesta de referencia y análisis: 4. Punto de conocimiento: Desbordamiento numérico. Cuando el valor de i es 0, será igual a 128. Tenga en cuenta que byte es un alias de uint8.

2. ¿Qué genera el siguiente código?

const (
    azero = iota
    aone  = iota
)

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

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

Respuesta de referencia y análisis: 0 1 1 2. Punto de conocimiento: el uso de iota. El punto propenso a errores de esta pregunta radica en los valores de bzero y bone.En un bloque de código de declaración constante, si iota no aparece en la primera línea, el valor inicial de la constante es un valor distinto de cero.

3. No se permiten múltiples nombres de paquetes de archivos en el mismo nivel, ¿es correcto?

A. verdadero
B. falso
Respuesta de referencia y análisis: A. Solo puede haber un paquete en una carpeta y puede haber varios archivos .go, pero estos archivos deben pertenecer al mismo paquete.

4. ¿Cuál es el problema con el siguiente código? Explíquelo.

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()
}

Respuesta de referencia y análisis: error de compilación.

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

El tipo de estructura de datos no implementa la impresora de interfaz. Punto de conocimiento: interfaz.

Supongo que te gusta

Origin blog.csdn.net/abc54250/article/details/130757552
Recomendado
Clasificación