首页 > 其他分享 >golang 参数传递问题

golang 参数传递问题

时间:2024-11-08 11:00:02浏览次数:1  
标签:参数传递 nums int fmt golang 传递 func Println 问题

golang 的参数传递

package main

import "fmt"

/*
值传递:函数收到的是参数的副本,修改不影响原本
引用传递:函数收到的是参数的地址,修改会影响原本

go 中的 值传递 有 : 基本的数据类型,数组
引用传递:切片以及指针
*/

func change(nums [3]int){
	nums[0] = 1
}

func change1(nums []int){
	nums[0] = 0
}

func change3(a,b int){
	a += 1
	b += 1
}

func change4(a,b *int){
	*a += 1
	*b += 1
}

func main(){
	// 验证 数组是值传递
	nums := [3]int{};
	change(nums)
	fmt.Println(nums) // [0,0,0] 没有修改

	nums2 := []int{1,2,3};
	change1(nums2)
	fmt.Println(nums2) // [0,2,3] 修改了
	
	a:=0
	b:=0
	change3(a,b) //基本类型值传递
	fmt.Println(a,b) // 0,0

	change4(&a,&b) //传地址进去,指针修改
	fmt.Println(a,b) // 1,1

}

标签:参数传递,nums,int,fmt,golang,传递,func,Println,问题
From: https://www.cnblogs.com/LIang2003/p/18534676

相关文章

  • golang 数组切片
    golang基础数组+切片packagemainimport( "fmt")//数组切片学习funcmain(){ //数组的初始化方式 nums1:=[3]int{1,2,3}//指定长度,全部初始化 fmt.Println("nums1:",nums1) nums2:=[5]int{1,2,3}//指定长度,部分初始化 fmt.Println("nums2:",nums2)......
  • 吸烟者问题
    吸烟者问题一、问题背景及分析即“可以生产多种产品的单生产者和多消费者”的问题。生产者可生产A/B/C产品,每种产品都有各自的不同种消费者接受。​​​​‍注:这里的缓冲区容量为1,所以可以不设置mutex的互斥信号量(同一时刻,四个同步信号量中至多只有一个值为1)‍二、问......
  • 多生产者-多消费者问题
    多生产者-多消费者问题一、问题背景及分析这里的“多”指种类多而不是数量多。多种生产者和多种消费者共享同一片缓冲区,且一种消费者只接受特定的一种生产者生产的产品。​​‍二、问题实现​​同样,实现互斥的P操作一定要在实现同步的P操作之后,否则可能引起“死锁”......
  • 哲学家进餐问题
    哲学家进餐问题一、问题背景及分析(一)基本分析及实现每个进程争抢地使用一种资源,其中若分配不当会导致死锁现象。​​‍基本实现:​​‍(二)避免死锁发生的三种方法(仍有很多种,这里仅作列举参考)(1)限制资源容量可以对哲学家进程施加一些限制条件,比如最多允许四个哲学家同时进......
  • 读者-写者问题
    读者-写者问题一、问题背景及分析有读者和写者两组并发进程,共享一个文件,当两个或两个以上的读进程同时访问共享数据时不会产生副作用,但若某个写进程和其他进程(读进程或写进程)同时访问共享数据时则可能导致数据不一致的错误。因此要求:允许多个读者可以同时对文件执行读操作只......
  • Mysql使用between and查询时间区间不包括右边界问题
    结论:Mysql数据库中的betweenand查询是包含右边界的,但如果字段是datetime类,数据格式则会被转换为:2018-10-0100:00:00,那么2018-10-01当天的数据就查询不到,所以就会出现不包含右边界的这种问题,而数据类型本身是date则不会出现上述问题。举例:在Mysql中有如下select语句:SELECT*FR......
  • C++解倒三角问题
    题目描述输入一个整数打印数字图形。输入一个整数(0<n<10)输出一个数字图形样例输入 3样例输出 关于本题代码如下:#include<iostream>usingnamespacestd;intmain(){ intn,k,t=1; cin>>n;k=n; for(inti=1;i<=n;i++......
  • c++解修剪花圃问题
    C++解“修剪花圃”题目描述你知道吗?在外国,如果你不修剪你的花圃,是要被贴罚单的。Xman忙于战斗,被贴了好多罚单。这一次好不容易休息了,他决定修剪一下。修剪成什么样子呢?当然是X形。Xman的花圃是一个n*n的正方形,其中n为大于等于3的正奇数。在每个位置上都有几个植物,对应的......
  • 【K8S问题系列】Kubernetes Pod节点CrashLoopBackOff 状态【已解决】
    在Kubernetes中,Pod的状态为CrashLoopBackOff表示某个容器在启动后崩溃,Kubernetes尝试重启该容器,但由于持续崩溃,重启的间隔时间逐渐增加。下面将详细介绍CrashLoopBackOff状态的原因、解决方案及相关命令的输出解释。一、CrashLoopBackOff状态的详细介绍描述C......
  • 【路径规划】基于A*-三次样条曲线求解UAV路径规划问题
    摘要本文提出了一种结合A算法与三次样条曲线的无人机(UAV)路径规划方法。该方法通过A算法找到从起点到终点的最优路径,再利用三次样条曲线对路径进行平滑处理,以确保无人机在复杂地形中实现平稳的导航和避障能力。实验结果表明,基于A*和三次样条曲线的路径规划方法在避免障碍的同......