列表

详情


GP5. 值和指针

描述

给定两个变量a,b,判断两个变量的地址,值(a,b的地址取得)是否相等,将结果依次存入切片,并返回。

知识点:

Go语言中的指针操作非常简单,只需要记住两个符号:&(取地址)和*(根据地址取值)。

每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。Go语言中使用&字符放在变量前面对变量进行“取地址”操作。 Go语言中的值类型(int、float、bool、string、array、struct)都有对应的指针类型,如:*int、*int64、*string等。

示例1

输入:

1,2

输出:

[false,false]

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Go 解法, 执行用时: 3ms, 内存消耗: 788KB, 提交时间: 2022-05-28

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param a int整型 变量a
 * @param b int整型 变量b
 * @return bool布尔型一维数组
*/
func equal( a int ,  b int ) []bool {
    // write code here
  var ptr1 *int = &a
   var ptr2 *int = &b
   var res1 bool
   res1 = *ptr1 == *ptr2
    var res2 bool
    res2 = ptr1 == ptr2
   return []bool{res2,res1}
}

Go 解法, 执行用时: 3ms, 内存消耗: 816KB, 提交时间: 2022-05-26

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param a int整型 变量a
 * @param b int整型 变量b
 * @return bool布尔型一维数组
*/
func equal( a int ,  b int ) []bool {
    var mybool []bool;
    mybool = append(mybool,&a==&b);
    mybool = append(mybool,a==b);

    return mybool;
}

Go 解法, 执行用时: 3ms, 内存消耗: 816KB, 提交时间: 2022-05-26

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param a int整型 变量a
 * @param b int整型 变量b
 * @return bool布尔型一维数组
*/
func equal( a int ,  b int ) []bool {
    // write code here
    return []bool{&a==&b,a==b}
}

Go 解法, 执行用时: 3ms, 内存消耗: 820KB, 提交时间: 2022-07-16

package main
//import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param a int整型 变量a
 * @param b int整型 变量b
 * @return bool布尔型一维数组
*/
func equal( a int ,  b int ) []bool {
    // write code here
    ans := []bool{&a == &b, a == b}
    return ans
}

Go 解法, 执行用时: 3ms, 内存消耗: 820KB, 提交时间: 2022-06-08

package main;

func equal(a int, b int) []bool {
	return []bool{&a == &b,a == b};
}

上一题