《Go程序设计语言》中文版翻译错误
《The Go programming language》是一本写的很好的书,我本来买了中文版看,但是翻了几页,实在是看不懂。于是买了一本英文版来对照着看,本来以为看英文可能会比较吃力,但是没想到英文读起来要比中文流畅的多。同时还发现中文版翻译中的好多错误,在此记录一下。
page101, “我们可以忽略掉整个日志”,应该为“我们可以忽略掉整个错误”
page101 “进行错误检查之后,检测到失败的情况往往都在成功之前” 应该为“进行错误检查之后,首先进行错误处理,然后再处理正常的逻辑”
page101 “之后跟着实际的函数体一直到最后” 后面一句漏翻译了“以最大限度的减少缩进”。
page101 “偶尔, 一个程序必须针对不同各种类的错误采取不同的措施” 应该为“然而,程序有时候需要根据发生的不同种类的错误采取不同的处理方式”
英文版P132, 中文版P102
“而且它们可以赋给 变量或者传递或者从其他函数返回”, 应该为:
“而且,它们可以赋值给变量或者传递给其他函数,或者从其他函数返回”英文版P133, 中文版P103
“这样的代码组织给调用者提供了很多的灵活性” 建议改为:
“这样的代码组织给调用者提供了极大的灵活性”英文版30, 中文版22
“包级别的初始化在main开始之前进行” 应该为:
“包级别的变量初始化在main函数开始执行之前进行”
“局部变量初始化和声明一样在函数执行期间进行” 应该为:
“局部变量的初始化在函数遇到其声明语句的时候进行”
- 英文版31, 中文版23
“短变量声明不需要声明所有在左边的变量” 建议改为:
“短变量声明不需要声明所有在:=左侧的变量”
“如果一些变量在同一个词法块中声明, 那么对于这些变量,短声明的行为等同于赋值” 应改为:
“如果某些变量已经在同一个词法块中声明过了,那么对于这些变量,短声明的行为等同于赋值”
already 没有翻译造成中文意思错误
英文版P32, 中文版P24
“变量有时候使用一个地址化的值” 应为:
“变量有时候被描述为可寻址的值”英文版P35, 中文版P27
“这个规则有一个例外:两个变量的类型不携带任何信息且是零值, 例如struct{}或者[0]int,当前的实现里面,它们有相同的地址” 这一段翻译完全错误,英文原文是
“There is one exception to this rule: two variables whose type carries no information and is therefore of size zero, such as struct{} or [0]int, may, depending on the implementation, have the same address.”
应该翻译为:
“这个规则有一个例外:两个变量的类型不携带任何信息,因此其size是0,例如struct{}或者[0]int, 可能具有相同的地址,这取决于具体实现。”英文版P35,中文版P27
“每次执行声明语句时创建一个新的实体,变量一直生存到它变得不可访问,这时它占用的存储空间被回收” 应该为:
“每次执行声明语句时创建一个新的实例,变量一直生存到它变得不可访问为止,这时它占用的内存可能会被回收”
两字之差,意思就不一样了。一个变量没有被引用了,那么它的生命周期结束了,但是并不一定会被马上回收,可能会有一些延时,这个要看具体的垃圾回收算法是如何实现的。
- 英文版P36, 中文版P26
“即使包含它的循环已经返回,它的存在还可能延续” 应该为:
“即使包含它的函数已经返回,它的存在还可能延续”
13.英文版P36,中文版P26
“编译器可以选择使用堆或栈上的空间来分配” 翻译错误
原文是
“A compiler may choose to allocate local variables on the heap or on the stack but,…”
也就是说,编译器可以选择在栈上或者堆上分配局部变量,注意是局部变量,并没有提到包级变量
14.英文版P36,中文版P26
“令人惊奇的是,这个选择不是基于使用var或new关键字来声明变量” 翻译错误
在go中,new是一个预定义的函数,并不是关键字,所以在英文原文中,刻意避免了使用keyword这个说法
英文原文:
“this choice is not determined by whether var or new was used to declare the variable.”
应该翻译为:
“这种选择不是根据是否使用了var或new来确定的”
《Go程序设计语言》中文版翻译错误相关推荐
- 高级程序设计语言的翻译和解释
解释程序也称为解释器,它或者直接解释执行源程序,或者将源程序翻译成某种中间代码后再执行:而编译程序(编译器)则是将源程序翻译成目标语言程序,然后在机器上运行目标程序. 这两种语言处理程序的区别 ...
- 软件设计师之程序设计语言
1.低级语言和高级语言 计算机硬件只能识别由 0.1 组成的机器指令序列,即机器指令程序,因此机器指令是最基本的计算机语言.由于机器指令是特定的计算机系统所固有的.面向机器的语言,所以用机器语言进行程 ...
- 多国语言实时翻译工具Mate Translate中文版
Mate Translate Mac中文版是mac上一款非常强大的多国语言实时翻译工具,支持103种语言之间的即时互译,可以在你的所有设备之间轻松同步,并且直接通过你的Mac菜单栏访问和使用,非常方便 ...
- AWK程序设计语言-翻译
AWK程序设计语言-翻译 师弟翻译的: <AWK程序设计语言> -Alfred V.Aho Brian W.Kernighan Peter J.Weinberger github地址:ht ...
- 下面关于java语言说法不正确的是_数据库应用技术复习 求解1下面关于JAVA语言的说法,错误的是( )。A.JAVA语言是一种面向对象的程序设计语言。B...
数据库应用技术复习 求解1下面关于JAVA语言的说法,错误的是( ).A.JAVA语言是一种面向对象的程序设计语言.B 数据库应用技术复习 求解 1下面关于JAVA语言的说法,错误的是( ). A.J ...
- Go程序设计语言翻译问题(goroutine)
中文:Go程序设计语言 2017.1 英文:The Go Programming Language 2016 8.4.2. Pipelines 8.4.2管道章节 修正: 第一个管道应该改成通道,ca ...
- @淘宝前端团队 犀牛书(中文版)中的那些翻译错误(更新中)
首先对作者David Flanagan和淘宝前端团队的前辈们表示感谢,没有你们在前方开拓荒野,和我一样的前端菜鸟们,前端之路必然没有现在这样平坦. 当然为了后来者更加方便,我将精读JavaScript ...
- 计算机程序设计语言是英文翻译,程序设计英语怎么说
程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分.随着硬件技术的飞速发展和软件规模的日益庞大,程序的结构.可维护性.复用性.可扩展性等因素日益重要.那么你知道程序设计用英语怎么说吗 ...
- 【Gin⭐012】Go语言Gin框架-错误信息翻译成中文
1:翻译的通用函数 2:初始化通用函数 3:转换错误信息格式 4:翻译错误信息 package mainimport ("fmt""net/http"" ...
最新文章
- 《第一行代码》学习笔记19-广播接收器Broadcast_Receiver(2)
- Asp.net中的两种刷新父窗体方法
- leetcode 136. Single Number
- 一行代码让matplotlib图表变高大上
- LINUX 如何实现多线程进行cp复制
- Android开发之xml动画(补间动画)记录
- 35岁以前把下面十件事做好
- unet实现区域分割
- Windows守护进程简单示例
- 数据库工作笔记009---linux 导入导出postgresql数据库
- Nero Burning Rom v7.2.3.2b 简体中文版
- 如何打开java jar文件怎么打开方式_Win10系统下jar文件如何打开?
- 如何获取Android手机连接当前网络的外网IP
- 完美屏蔽中国移动,四川手机报发的信息。
- 阿里云大数据开发三面面经,已过,面试题已配答案
- 003 大数据4V特征
- ubuntu系统下quagga 安装[更新]
- 《计算机网络》笔记-第3章运输层
- 密码技术学习一:密码
- Cpython解释器下实现并发编程——多进程、多线程、协程、IO模型