【Go】三、Go指针

news2024/11/28 16:48:51

文章目录

  • 1、指针
  • 2、说明

1、指针

  • &符号+变量 就可以获取这个变量内存的地址
  • *int 是一个指针类型 (可以理解为 指向int类型的指针)
package main
import(
        "fmt"
)
func main(){

        var age int = 18
        //&符号+变量 就可以获取这个变量内存的地址
        fmt.Println(&age) //0xc0000a2058
        
        //定义一个指针变量:
        //var代表要声明一个变量
        //ptr 指针变量的名字
        //ptr对应的类型是:*int 是一个指针类型 (可以理解为 指向int类型的指针)
        //&age就是一个地址,是ptr变量的具体的值
        var ptr *int = &age

		//这样直接输出,是ptr这个指针变量的值,即0xc0000a2058
        fmt.Println(ptr)
        
        //ptr这个指针变量自身的地址
        fmt.Println("ptr本身这个存储空间的地址为:",&ptr)
        
        //想获取ptr这个指针或者这个地址指向的那个数据:
        fmt.Printf("ptr指向的数值为:%v",*ptr) //ptr指向的数值为:18
}

在这里插入图片描述

  • & 取内存地址
  • * 根据内存地址取值

2、说明

1)可以通过指针去改变它指向的那个变量的值

func main(){
        var num int = 10
        fmt.Println(num)	//10
        var ptr *int = &num
        *ptr = 20
        fmt.Println(num)	//20
}

2)指针变量接收的一定是地址值

//正确写法
var ptr *int = &num

在这里插入图片描述

3)指针变量的地址不可以不匹配

func main(){
        var num int = 10
        fmt.Println(num)	//10
        var ptr *float32 = &num
}

编译报错:cannot use &num(type *int) as type float32 in assignment。因为float32意味着这个指针指向的是float32类型的数据,而&num对应一个int类型的变量

4)基本数据类型,都有对应的指针类型,形式为*数据类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1556463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聚观早报 | 小米SU7正式发布;xAI推出Grok-1.5

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 3月30日消息 小米SU7正式发布 xAI推出Grok-1.5 红魔9 Pro新品亮相 长城汽车2023年营收 快狗打车2023年度业绩 小…

UWB辅助RTK如何应对极端环境

1.UWB定位 - UWB(Ultra-Wideband)是一种无线通信技术,其特点是具有较宽的频带,可以提供0.1-0.5m高精度的距离测量。 - UWB定位需要四台基站(每台基站视距间隔50-100米)呈矩形安装部署,以实现…

springboot婚庆系统

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于婚庆系统当然也不能排除在外,随着网络技术的不断成熟,带动了婚庆系统,它彻底改变了过去传统的管理方式…

vue3+vite 模板vue3-element-admin框架如何关闭当前页面跳转 tabs

使用模版: 有来开源组织 / vue3-element-admin 需要关闭的.vue 页面增加以下方法 //setup 里import {LocationQuery, useRoute, useRouter} from "vue-router"; const router useRouter(); function close() {console.log(|--router.currentRoute.value, router.cur…

五、postman基础使用案例

postman基础使用 相关案例【传递查询参数】【提交表单数据】【提交JSON数据】 注:postman⼀款⽀持调试和测试的⼯具,开发、测试⼯程师都可以使⽤。方法一般统一为:方法→请求头→请求体→断言 相关案例 【传递查询参数】 访问TPshop搜索商品的…

ElasticSearch、java的四大内置函数式接口、Stream流、parallelStream背后的技术、Optional类

第四周笔记 一、ElasticSearch 1.安装 apt-get install lrzsz adduser -m es 创建用户组: useradd *-m* xiaoming(用户名) *PS:追加参数-m* passwd xiaoming(用户名) passwd xiaoming 输入新的 UNIX 密码: 重新输入新的 UNIX 密码&…

基于springboot+vue实现的养老服务管理系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

【考研数学】《660题》 和《1800 题》完美搭配方法

别等二战才搞懂! 学长我23年二战143,逆袭上岸211! 但是我一战数学83,总分没过线,一战就用的1800660,当时刷1800的时候整个人都麻了。二战通过调整刷题方法,才顺畅的把基础打牢。⚠️ 660建议全…

使用uni-app开发微信小程序并实现页面间的跳转

一、下载需要的开发工具 HBuilderX 微信开发者工具 HBuilderX HBuilderX-高效极客技巧 (dcloud.io) 微信开发者工具 下载 / 开发版更新日志 (qq.com) 二、新建项目 通过vue-cli命令行创建项目 参考: uni-app官网 (dcloud.net.cn) 2.1全局安装 vue-cli npm i…

HarmonyOS实战开发-实现Ability内页面间的跳转和数据传递。

介绍 本篇Codelab基于Stage模型下的Ability开发,实现Ability内页面间的跳转和数据传递。 最终效果图如下: 相关概念 页面路由:提供通过不同的url访问不同的页面,包括跳转到应用内的指定页面、用应用内的某个页面替换当前页面、…

【AI模型-机器学习工具部署】远程服务器配置Jupyter notebook或jupyter lab服务

随着AI人工智能的崛起,机器学习、深度学习、模型训练等技术也慢慢泛化,java开发有idea,web开发有vscode,那么AI开发神器肯定离不开jupyter lab(基础版jupyter notebook) Jupyter notebook部署 1. 安装jupy…

FPGA----ZCU106的petalinux 2019.1使用USB传输数据

1、实际项目中需要用到开发板的串口进行数据交互,之前讲的几节只是启动了网口(如下链接)。因此,本次给大家带来的官方自带串口例程的使用方法,本文的vivado工程和下述连接一样,PL端什么配置都没有。 FPGA-…

07-工作流设计:如何设计合理的多人开发模式?

一个企业级项目是由多人合作完成的,不同开发者在本地开发完代码之后,可能提交到同一个代码仓库,同一个开发者也可能同时开发几个功能特性。这种多人合作开发、多功能并行开发的特性如果处理不好,就会带来诸如丢失代码、合错代码、…

ttkbootstrap界面美化系列之Notebook(四)

在简单的界面设计中,Notebook也是常用的组件之一,Notebook组件的引入可以根据标签来切换不同的界面。使得界面更有层次感,不必都挤在一个界面上。在tkinter中就有Notebook组件,在ttkbootstrap中,同样也对Notebook进行了…

【文献分享】MOSAICS 程序: 用于分析模拟轨迹中的膜结构和动力学的软件套件

题目:MOSAICS: A software suite for analysis of membrane structure and dynamics in simulated trajectories 链接: DOI: 10.1016/j.bpj.2022.11.005 MOSAICS:用于分析模拟轨迹中的膜结构和动力学的软件套件 分子动力学 (MD) 模拟已成…

大模型面试准备(八):一文详解国产大模型导师 LLaMA v1和v2

节前,我们组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对大模型技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何备战、面试常考点分享等热门话题进行了深入的讨论。 合集在这…

你该选择哪个职业呢?数据科学家、数据分析师和数据工程师

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

AI论文速读 | 【综述】用于轨迹数据管理和挖掘的深度学习:综述与展望

论文标题:Deep Learning for Trajectory Data Management and Mining: A Survey and Beyond 作者:Wei Chen(陈伟), Yuxuan Liang(梁宇轩), Yuanshao Zhu, Yanchuan Chang, Kang Luo, Haomin Wen(温皓珉), Lei Li, Yanwei Yu(于彦伟), Qingsong Wen(文青…

mixly编译esp32程序缺失问题bits/c++config.h

错误信息: 编译中... 使用平台的 ‘esp32’ 开发板,在列出的文件夹中:D:\windowsoftInstalled\mixly\mixly2.0-win32-x64\arduino-cli\Arduino15\packages\esp32\hardware\esp32\2.0.7 使用平台的 ‘esp32’ 代码,在列出的文件夹…

hcip结课考题答案解析 鹏

考试涵盖了BGP的基本状态、路由请求处理、网络层协议、路由聚合、网络连接管理、链路状态维护、路由信息发布、虚拟IP地址处理、路由表建立、AS外部路由学习等多个方面。考试内容涵盖了BGP的初始状态、活跃状态、Established状态、对等体交换、网络层协议、路由请求处理、链路状…