yyz notes yyz notes
首页
  • RBAC权限设计
  • 架构图标设计
  • 账号体系
  • python基础
  • python高级
  • python模块
  • python设计模式
  • python数据结构与算法
  • django
  • django-DRF
  • flask
  • 直接设计开源pip包
  • 直接设计开源项目
  • python示例题/脚本
  • python面试题
  • golang基础
  • golang高级
  • golang常用组件
  • gin框架
  • es6
  • javascript
  • react
  • vue
  • TypeScript
  • mysql
  • redis
  • minio
  • elasticsearch
  • mongodb
  • 消息队列
  • 自动化测试
  • 操作系统

    • linux
    • windows
  • nginx
  • docker
  • k8s
  • git
  • ldap
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

益章

可乐鸡翅
首页
  • RBAC权限设计
  • 架构图标设计
  • 账号体系
  • python基础
  • python高级
  • python模块
  • python设计模式
  • python数据结构与算法
  • django
  • django-DRF
  • flask
  • 直接设计开源pip包
  • 直接设计开源项目
  • python示例题/脚本
  • python面试题
  • golang基础
  • golang高级
  • golang常用组件
  • gin框架
  • es6
  • javascript
  • react
  • vue
  • TypeScript
  • mysql
  • redis
  • minio
  • elasticsearch
  • mongodb
  • 消息队列
  • 自动化测试
  • 操作系统

    • linux
    • windows
  • nginx
  • docker
  • k8s
  • git
  • ldap
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • golang基础

    • 初识golang

    • golang基础语法

    • golang流程控制

    • golang函数

      • 普通函数-函数声明(函数定义使用)
      • 普通函数-函数声明调用的内存分析
        • 通过示例感受内存分析(示例一)
        • 通过示例感受内存分析(示例二)
      • 普通函数-函数细节注意点
      • 普通函数-自定义数据类型(别名)
      • 普通函数-函数的返回值
      • init函数
      • 匿名函数
      • 闭包(Closure)
      • defer(延迟执行语句)
    • golang内置函数

    • golang包

    • golang错误异常处理

    • golang面向对象(结构体)

    • golang文件处理

    • golang并发编程简介

    • golang并发编程-协程

    • golang网络编程

    • 反射 reflect

  • golang高级

  • 常用组件

  • gin

  • golang
  • golang基础
  • golang函数
YiZhang-You
2023-05-24
目录

普通函数-函数声明调用的内存分析

# 2. 函数声明调用的内存分析

# 通过示例感受内存分析(示例一)

  • 没有真正的交换,通过在函数中创建临时变量,在对值进行赋值。
package main

import "fmt"

// 自定义函数:功能:交换两个数
func exchangeNum(num1 int, num2 int) (int, int) {
	var t int
	t = num1
	num1 = num2
	num2 = t
	return num1, num2
}
func main() {
	//调用函数:交换10和20
	// 示例一:没有真正的交换,通过在函数中创建临时变量,在对值进行赋值。(没有真正的交换)
	var num1 int = 10
	var num2 int = 20
	fmt.Printf("交换前的两个数: num1 = %v,num2 = %v \n", num1, num2)
	num1, num2 = exchangeNum(num1, num2)
	fmt.Printf("交换后的两个数: num1 = %v,num2 = %v \n", num1, num2)
}

/*
	交换前的两个数: num1 = 10,num2 = 20
	交换后的两个数: num1 = 20,num2 = 10
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 通过示例感受内存分析(示例二)

  • 通过指针类型在原有的变量地址改变它的值
package main

import "fmt"

// 通过指针多值交换
func parExchangeNum(num1 *int, num2 *int) {
	*num1, *num2 = *num2, *num1
}
func main() {
	//调用函数:交换10和20
	var num1 int = 10
	var num2 int = 20

	// 示例二:通过指针类型在原有的变量地址改变它的值
	fmt.Printf("交换前的两个数: num1 = %v,num2 = %v \n", num1, num2)
	parExchangeNum(&num1, &num2)
	fmt.Printf("交换后的两个数: num1 = %v,num2 = %v \n", num1, num2)

}

/*
	交换前的两个数: num1 = 20,num2 = 10
	交换后的两个数: num1 = 10,num2 = 20
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

编辑 (opens new window)
普通函数-函数声明(函数定义使用)
普通函数-函数细节注意点

← 普通函数-函数声明(函数定义使用) 普通函数-函数细节注意点→

最近更新
01
配置yun源
05-24
02
linux-配置python虚拟环境
05-24
03
linux文件目录管理
05-24
更多文章>
Theme by Vdoing | Copyright © 2023-2023 yizhang | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式