迹忆客 计算机编程题库

Go 经典面试题 部分三

以下哪种方式是 Go 中默认的参数传递方法?
  • 按值传递
  • 引用传递
  • 以上都是
  • 以上都不是
正确答案是:A
正确率:75%

解析:

本题考查Go中函数的默认的参数传递的方式。

首先我们来了解一下参数传递的两种方式

值传递 - 值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。

/* 定义相互交换值的函数 */
func swap(x, y int) int {
   var temp int

   temp = x /* 保存 x 的值 */
   x = y    /* 将 y 值赋给 x */
   y = temp /* 将 temp 值赋给 y*/

   return temp;
}

引用传递 - 引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

/* 定义交换值函数*/
func swap(x *int, y *int) {
   var temp int
   temp = *x    /* 保持 x 地址上的值 */
   *x = *y      /* 将 y 值赋给 x */
   *y = temp    /* 将 temp 值赋给 y */
}

默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。

更多知识请移步 Go 语言函数参数详解

查看笔记

扫码一下
查看教程更方便