Skip to content

Commit 9550fbb

Browse files
RickyWang1020Tinywan
authored andcommitted
Update golang_tutorial_05.md
1 parent ecc5c7f commit 9550fbb

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

docs/golang_tutorial_05.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ error main.go:11: const initializer math.Sqrt(4) is not a constant.
6666
const hello = "Hello World"
6767
```
6868

69-
上面的代码将 "Hello World" 赋给一个名为 hello 的常量。那么现在常量** hello** 是不是就有了类型?答案是:No。hello 仍然没有类型。
69+
上面的代码将 "Hello World" 赋给一个名为 `hello` 的常量。那么现在常量 `hello` 是不是就有了类型?答案是:No。`hello` 仍然没有类型。
7070

7171
Go是一种强类型语言。 所有变量都需要显式类型。 变量 `name` 被赋值为一个无类型的常量 `"Sam"`,它是如何工作的呢?
7272

@@ -84,7 +84,7 @@ func main() {
8484
}
8585
```
8686

87-
答案是无类型常量有一个默认的类型,当且仅当代码中需要无类型常量提供类型时,它才会提供该默认类型。在语句 `var name = "Sam" `中,`name`需要一个类型,因此它从常量 "Sam" 中获取其默认类型:`string`
87+
答案是无类型常量有一个默认的类型,当且仅当代码中需要无类型常量提供类型时,它才会提供该默认类型。在语句 `var name = "Sam" `中,`name`需要一个类型,因此它从常量 `"Sam"` 中获取其默认类型:`string`
8888

8989
<u>(译者注:这里可以理解为常量是无类型的,但是在需要类型的场合,编译器会根据常量的值和上下文将常量转换为相应的类型。)</u>
9090

@@ -116,7 +116,9 @@ func main() {
116116

117117
接着我们创建了一个名为 `customName``myString` 类型的变量,并将常量 `"Sam"` 赋给它。因为常量 `"Sam"` 是无类型的所以可以将它赋值给任何字符串变量。因此这个赋值是合法的,`customName` 的类型是 `myString`
118118

119-
现在我们有两个变量:string 类型的 `defaultName``myString` 类型的 `customName`。尽管我们知道 `myString` 是 string 的一个别名,但是Go的强类型机制不允许将一个类型的变量赋值给另一个类型的变量。<u>**因此,customName = defaultName 这个赋值是不允许的,编译器会报错:main.go:10: cannot use defaultName (type string) as type myString in assignment **</u>
119+
现在我们有两个变量:string 类型的 `defaultName``myString` 类型的 `customName`。尽管我们知道 `myString` 是 string 的一个别名,但是Go的强类型机制不允许将一个类型的变量赋值给另一个类型的变量。
120+
121+
<u>因此,customName = defaultName 这个赋值是不允许的,编译器会报错:main.go:10: cannot use defaultName (type string) as type myString in assignment </u>
120122

121123
## 布尔常量
122124

@@ -180,7 +182,7 @@ func main() {
180182

181183
在上面的程序中,所有变量的类型都是由数值常量决定的。在语法上看,`5` 在是一个整数,`5.6 `是一个浮点数,` 5 + 6i `是一个复数。运行上面的程序,输出为:`i's type int, f's type float64, c's type complex128`
182184

183-
<u>(译者注:编译器可以根据字面值常量的表现形式来确定它的默认类型,比如 5.6 表现为浮点数,因此它的默认类型为 float64 ,而 "Sam" 表现为字符串,因此它的默认类型为 stirng。)</u>
185+
<u>(译者注:编译器可以根据字面值常量的表现形式来确定它的默认类型,比如 5.6 表现为浮点数,因此它的默认类型为 float64 ,而 "Sam" 表现为字符串,因此它的默认类型为 string。)</u>
184186

185187
现在应该很清楚下面的程序是如何工作的了:
186188

0 commit comments

Comments
 (0)