Método de paso de los parámetros de la función Golang: paso por valor, paso por referencia

introducción básica


Ya hemos hablado de tipos de valor y tipos de referencia al explicar las precauciones y los detalles de uso de las funciones. Aquí los resumiremos sistemáticamente, porque este es el punto más difícil. Los parámetros de tipo de valor se pasan por valor de forma predeterminada, mientras que los parámetros de tipo de referencia son pasado por referencia por defecto. .

 

Dos métodos de transferencia (las funciones son copias de valor por defecto)


1) Transferencia de valores (para tipos de datos básicos, la copia de valores se realiza al pasar parámetros)

2) Pasar por referencia (se pasa una dirección)

De hecho, ya sea que se pase por valor o por referencia, lo que se pasa a la función es una copia de la variable, la diferencia es que lo que se pasa por valor es una copia del valor, y lo que se pasa por referencia es una copia de la dirección. En términos generales, la copia de direcciones es eficiente porque la cantidad de datos es pequeña y la copia de valor determina el tamaño de los datos copiados. Cuanto más grandes sean los datos, menor será la eficiencia.

La estructura es copia de valor por defecto, luego se copiará un gran número, lo cual es ineficiente, si se pasa la dirección de la estructura. Entonces la eficiencia será muy alta. La diferencia es principalmente una cuestión de eficiencia.

 

Tipos de valor y tipos de referencia


1) Tipo de valor: tipo de datos básico int series, float series, bool, string, array y estructura struct

2) Tipo de referencia: puntero, segmento de segmento, mapa, canal de canalización, interfaz, etc. son todos tipos de referencia

おすすめ

転載: blog.csdn.net/qq_34556414/article/details/132063800