Error de traducción de la versión china "Go Programming Language"

"El lenguaje de programación Go" es un libro muy bien escrito. Originalmente compré la versión china para leerlo, pero después de pasar algunas páginas, realmente no pude entenderlo. Así que compré una versión en inglés para comparar y leer. Pensé que podría ser más difícil leer en inglés, pero no esperaba que el inglés leyera con más fluidez que el chino. Al mismo tiempo, se encontraron muchos errores en la traducción de la versión china, así que regístrelos aquí.

  1. página 101, "Podemos ignorar todo el registro", debería ser "Podemos ignorar todo el error"

  2. página101 "Después de la verificación de errores, las fallas generalmente se detectan antes del éxito". Debería ser "Después de la verificación de errores, primero realice el manejo de errores y luego procese la lógica normal"

  3. page101 "Seguido por el cuerpo de la función real hasta el final" La última oración no se tradujo "para minimizar la sangría".

  4. página101 "Ocasionalmente, un programa debe tomar diferentes medidas para diferentes tipos de errores." Debería ser "Sin embargo, a veces el programa necesita tomar diferentes métodos de procesamiento de acuerdo con los diferentes tipos de errores que ocurren".

  5. Versión en inglés P132, versión en chino P102
    "y se pueden asignar a variables o pasar o devolver de otras funciones", debe ser:
    "Además, se pueden asignar a variables o pasar a otras funciones, o devolver desde otras funciones"

  6. Versión en inglés P133, versión en chino P103
    "Esta organización de código proporciona a las personas que llaman mucha flexibilidad" La sugerencia se cambia a:
    "Esta organización de código proporciona a las personas que llaman una gran flexibilidad"

  7. Versión 30 en inglés, versión 22 en chino
    "La inicialización del nivel del paquete se realiza antes de que se inicie la función principal" debe ser:
    "La inicialización de la variable a nivel del paquete se realiza antes de que se inicie la función principal"

"La inicialización de las variables locales se realiza durante la ejecución de la función como la declaración" debería ser:
"La inicialización de las variables locales se realiza cuando la función encuentra su declaración de declaración"

  1. Versión en inglés 31, versión en chino 23
    "La declaración de variable corta no necesita declarar todas las variables del lado izquierdo" sugiere cambiar:
    "La declaración de variable corta no necesita declarar todas las variables del lado izquierdo de: ="

"Si algunas variables se declaran en el mismo bloque léxico, entonces, para estas variables, el comportamiento de la declaración corta es equivalente a la asignación" debe cambiarse a:
"Si algunas variables han sido declaradas en el mismo bloque léxico, entonces para estas variables, El comportamiento de la declaración corta es equivalente a la asignación "

ya ninguna traducción provoca un error de significado chino

  1. Versión en inglés P32, versión en chino P24
    "Las variables a veces usan un valor direccionado" debe decir:
    "Las variables a veces se describen como valores direccionables"

  2. Versión en inglés P35, versión en chino P27
    "Hay una excepción a esta regla: los tipos de dos variables no contienen información y son valores cero, como struct {} o [0] int. En la implementación actual, tienen la misma dirección". Una traducción es completamente incorrecta, el original en inglés es
    "Hay una excepción a esta regla: dos variables cuyo tipo no contiene información y, por lo tanto, tienen un tamaño cero, como struct {} o [0] int, pueden, según la implementación, tener La misma dirección. "
    Debería traducirse como:
    " Hay una excepción a esta regla: los tipos de dos variables no contienen información, por lo que su tamaño es 0, por ejemplo, struct {} o [0] int, pueden tener la misma dirección, según Para una realización concreta ".

  3. Versión en inglés P35, versión en chino P27
    "Se crea una nueva entidad cada vez que se ejecuta una declaración de declaración, y la variable sobrevive hasta que se vuelve inaccesible y se recupera el espacio de almacenamiento que ocupa". Debe leer:
    "Cada vez que se ejecuta una declaración de declaración Cree una nueva instancia, la variable sobrevivirá hasta que se vuelva inaccesible, momento en el que se puede recuperar la memoria que ocupa "

La diferencia entre los dos personajes significa cosas diferentes. No se hace referencia a una variable, entonces su ciclo de vida ha terminado, pero es posible que no se recopile de inmediato y puede haber algún retraso. Esto depende de cómo se implemente el algoritmo de recolección de basura específico.

  1. Versión en inglés P36, versión en chino P26
    "Incluso si el bucle que lo contiene ha regresado, su existencia puede continuar" debería ser:
    "Incluso si la función que lo contiene ha regresado, su existencia puede continuar"

13. La versión en inglés de P36, la versión en chino P26
"El compilador puede elegir usar el espacio en el montón o la pila para asignar" un
texto de error de traducción es
"Un compilador puede elegir asignar variables locales en el montón o en la pila pero, ..."
es Dicho esto, el compilador puede optar por asignar variables locales en la pila o en el montón. Tenga en cuenta que las variables locales son variables locales y no se mencionan las variables a nivel de paquete.

14. Versión en inglés P36, versión en chino P26

"Es sorprendente que esta elección no se base en el uso de var o nuevas palabras clave para declarar variables". Error de traducción
En go, new es una función predefinida, no una palabra clave, por lo que en el inglés original, se evitó deliberadamente. La
palabra palabra clave es el texto original en inglés:
"esta elección no está determinada por si se usó var o new para declarar la variable".
Debe traducirse como:
"Esta opción no está determinada por si se usó var o new para declarar la variable " .

Supongo que te gusta

Origin blog.csdn.net/ww1473345713/article/details/95533950
Recomendado
Clasificación