mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-25 14:28:58 +00:00
Merge pull request #54 from kangxiaoning/master
修正zero value和signature翻译
This commit is contained in:
commit
22f02bc3f1
@ -19,7 +19,7 @@ fmt.Println(hypot(3,4)) // "5"
|
|||||||
```
|
```
|
||||||
|
|
||||||
x和y是形参名,3和4是调用时的传入的实参,函数返回了一个float64类型的值。
|
x和y是形参名,3和4是调用时的传入的实参,函数返回了一个float64类型的值。
|
||||||
返回值也可以像形式参数一样被命名。在这种情况下,每个返回值被声明成一个局部变量,并根据该返回值的类型,将其初始化为0。
|
返回值也可以像形式参数一样被命名。在这种情况下,每个返回值被声明成一个局部变量,并根据该返回值的类型,将其初始化为该类型的零值。
|
||||||
如果一个函数在声明时,包含返回值列表,该函数必须以 return语句结尾,除非函数明显无法运行到结尾处。例如函数在结尾时调用了panic异常或函数中存在无限循环。
|
如果一个函数在声明时,包含返回值列表,该函数必须以 return语句结尾,除非函数明显无法运行到结尾处。例如函数在结尾时调用了panic异常或函数中存在无限循环。
|
||||||
|
|
||||||
正如hypot一样,如果一组形参或返回值有相同的类型,我们不必为每个形参都写出参数类型。下面2个声明是等价的:
|
正如hypot一样,如果一组形参或返回值有相同的类型,我们不必为每个形参都写出参数类型。下面2个声明是等价的:
|
||||||
@ -43,7 +43,7 @@ fmt.Printf("%T\n", first) // "func(int, int) int"
|
|||||||
fmt.Printf("%T\n", zero) // "func(int, int) int"
|
fmt.Printf("%T\n", zero) // "func(int, int) int"
|
||||||
```
|
```
|
||||||
|
|
||||||
函数的类型被称为函数的标识符。如果两个函数形式参数列表和返回值列表中的变量类型一一对应,那么这两个函数被认为有相同的类型或标识符。形参和返回值的变量名不影响函数标识符,也不影响它们是否可以以省略参数类型的形式表示。
|
函数的类型被称为函数的签名。如果两个函数形式参数列表和返回值列表中的变量类型一一对应,那么这两个函数被认为有相同的类型或签名。形参和返回值的变量名不影响函数签名,也不影响它们是否可以以省略参数类型的形式表示。
|
||||||
|
|
||||||
每一次函数调用都必须按照声明顺序为所有参数提供实参(参数值)。在函数调用时,Go语言没有默认参数值,也没有任何方法可以通过参数名指定形参,因此形参和返回值的变量名对于函数调用者而言没有意义。
|
每一次函数调用都必须按照声明顺序为所有参数提供实参(参数值)。在函数调用时,Go语言没有默认参数值,也没有任何方法可以通过参数名指定形参,因此形参和返回值的变量名对于函数调用者而言没有意义。
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user