八股(One Day one)

        最近老是看到一些面试的视频,对于视频内部面试所提到的八股文,感觉是知道是什么,但是要说的话,却又不知道该怎么说(要不咋称之为八股文呢),所以就想到写一篇八股文总结的博客,以便进行学习和复习。

        目前的计划安排是一天完成一道,具体是哪个主题的不一定,尽可能做到一天一道,慢慢丰富起内容。


golang基础

1、golang中new和make的作用,以及他们的区别

自己想的(可以忽略),直接看下面标准答案:

new:new的作用就是传入一个类型,创建一个对象,并返回这个对象的指针。

make:make就是为slice、map、chan、channel初始化空间

区别:没啥区别呀,就不是一个东西😥。(呃呃呃,自己脑子里的就是不靠谱)

标准回答:

new函数的作用

  • 在 Go 语言中,new是一个内置函数。它的主要作用是分配内存,并且将这块内存初始化为零值,然后返回指向这块内存的指针

make函数的作用

  • make也是 Go 语言中的一个内置函数,但它和new有不同的用途。make主要用于创建切片(slice)、映射(map)和通道(channel)这三种复合类型,并且返回一个初始化后的(非零值)对象。
  • 对于切片,make会分配一个底层数组,并返回一个切片对象,这个切片对象包含了长度(len)和容量(cap)信息。例如,make([]int, 2)会创建一个长度为2int类型切片,其底层数组已经被分配并且元素被初始化为int类型的零值(也就是0)。
  • 对于映射,make会创建一个空的映射,这个映射可以用于存储键 - 值对。例如,make(map[string]int)会创建一个键为string类型,值为int类型的空映射。
  • 对于通道,make会创建一个通道,可以用于在不同的goroutine之间进行通信。例如,make(chan int)会创建一个int类型的通道。

newmake的区别

  • 功能用途不同
    • new主要用于分配内存并返回指向该内存的指针,它可以用于任何类型,只要你想得到一个指向该类型零值的指针。而make主要用于初始化并返回切片、映射和通道这三种复合类型,它返回的是一个已经初始化的非零值对象
  • 返回值类型不同
    • new返回的是一个指针,类型是*TT是你传入的类型)。例如new(int)返回*int。而make返回的是切片、映射或通道本身,例如make([]int, 5)返回[]int类型的切片,make(map[string]int)返回map[string]int类型的映射,make(chan int)返回chan int类型的通道。
  • 内存初始化不同
    • new只是将分配的内存清零,也就是将值初始化为该类型的零值。而make对于切片会分配底层数组并初始化元素;对于映射会创建一个空的可以存储键 - 值对的数据结构;对于通道会创建一个可以用于通信的通道对象,这些初始化过程比new的简单清零操作更复杂。

        


操作系统


数据结构


计算机网络


Linux


Mysql


Redis


分布式


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

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

相关文章

Rust 在前端基建中的使用

摘要 随着前端技术的不断发展,前端基础设施(前端基建)的建设已成为提升开发效率、保障产品质量的关键环节。然而,在应对复杂业务场景与高性能需求时,传统的前端技术栈逐渐暴露出诸多不足。近年来,Rust语言…

豆包MarsCode:a替换函数

问题描述 思路分析 在这个问题中,我们的目标是将字符串中的所有小写字母 a 替换为 "%100"。为了实现这一点,我们需要分析问题的核心需求和合理的解决方案。以下是分析和思路的详细步骤: 1. 理解问题 给定一个字符串 s&#xff0…

人脸生成3d模型 Era3D

从单视图图像进行3D重建是计算机视觉和图形学中的一项基本任务,因为它在游戏设计、虚拟现实和机器人技术中具有潜在的应用价值。早期的研究主要依赖于直接在体素上进行3D回归,这往往会导致过于平滑的结果,并且由于3D训练数据的限制&#xff0…

信贷域——互联网金融理论基础

摘要 互联网金融这种新兴的金融业态近几年飞速发展,规模不断扩大,互联网金融在对我国金融体系和经济发展影响中所占的分量越来越重,一定程度上也推动了互联网金融理论的发展。 互联网金融与传统金融都是金融,有着相近的理论基础。…

LightGBM分类算法在医疗数据挖掘中的深度探索与应用创新(上)

一、引言 1.1 医疗数据挖掘的重要性与挑战 在当今数字化医疗时代,医疗数据呈爆炸式增长,这些数据蕴含着丰富的信息,对医疗决策具有极为重要的意义。通过对医疗数据的深入挖掘,可以发现潜在的疾病模式、治疗效果关联以及患者的健康风险因素,从而为精准医疗、个性化治疗方…

STM32串口第一次接收数据时第一个字节丢失的问题

解决方法:开启中断之前,先清除标志位【1】。 串口清除标志位: __HAL_UART_CLEAR_PEFLAG(&huart1); HAL_UART_Receive_IT(&huart1,&RxUart, 1); 定时器清除标志位: __HAL_TIM_CLEAR_FLAG(&htim3,TIM_FLAG_UPDATE);…

深度学习中的残差网络、加权残差连接(WRC)与跨阶段部分连接(CSP)详解

随着深度学习技术的不断发展,神经网络架构变得越来越复杂,而这些复杂网络在训练时常常遇到梯度消失、梯度爆炸以及计算效率低等问题。为了克服这些问题,研究者们提出了多种网络架构,包括 残差网络(ResNet)、…

Pytorch | 从零构建EfficientNet对CIFAR10进行分类

Pytorch | 从零构建EfficientNet对CIFAR10进行分类 CIFAR10数据集EfficientNet设计理念网络结构性能特点应用领域发展和改进 EfficientNet结构代码详解结构代码代码详解MBConv 类初始化方法前向传播 forward 方法 EfficientNet 类初始化方法前向传播 forward 方法 训练过程和测…

音视频入门基础:MPEG2-TS专题(20)——ES流简介

《T-REC-H.222.0-202106-S!!PDF-E.pdf》第27页对ES进行了定义。ES流是PES packets(PES包)中编码的视频、编码的音频或其他编码的比特流。一个ES流(elementary stream)在具有且只有一个stream_id的PES packets序列中携带&#xff1…

天水月亮圈圈:舌尖上的历史与传承

在天水甘谷县,有一种美食如同夜空中的明月,散发着独特的魅力,它就是有着百年历史的月亮圈圈。月亮圈圈原名甘谷酥圈圈,据传,由大像山镇蒋家庄一姓李的厨师创制而成,后经王明玖等厨师的光大传承,…

YOLOv11融合[CVPR2023]FFTformer中的FSAS模块

YOLOv11v10v8使用教程: YOLOv11入门到入土使用教程 YOLOv11改进汇总贴:YOLOv11及自研模型更新汇总 《Efficient Frequency Domain-based Transformers for High-Quality Image Deblurring》 一、 模块介绍 论文链接:https://arxiv.org/abs…

java如何使用poi-tl在word模板里渲染多张图片

1、poi-tl官网地址 http://deepoove.com/poi-tl/ 2、引入poi-tl的依赖 <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version></dependency>3、定义word模板 释义&#xf…

《信管通低代码信息管理系统开发平台》Windows环境安装说明

1 简介 《信管通低代码信息管理系统应用平台》提供多环境软件产品开发服务&#xff0c;包括单机、局域网和互联网。我们专注于适用国产硬件和操作系统应用软件开发应用。为事业单位和企业提供行业软件定制开发&#xff0c;满足其独特需求。无论是简单的应用还是复杂的系统&…

8K+Red+Raw+ProRes422分享5个影视级视频素材网站

Hello&#xff0c;大家好&#xff0c;我是后期圈&#xff01; 在视频创作中&#xff0c;电影级的视频素材能够为作品增添专业质感&#xff0c;让画面更具冲击力。无论是广告、电影短片&#xff0c;还是品牌宣传&#xff0c;高质量的视频素材都是不可或缺的资源。然而&#xff…

Git远程仓库的使用

一.远程仓库注册 1.github&#xff1a;GitHub Build and ship software on a single, collaborative platform GitHub 2.gitee&#xff1a;GitHub Build and ship software on a single, collaborative platform GitHub github需要使用魔法&#xff0c;而gitee是国内的仓…

Echarts连接数据库,实时绘制图表详解

文章目录 Echarts连接数据库&#xff0c;实时绘制图表详解一、引言二、步骤一&#xff1a;环境准备与数据库连接1、环境搭建2、数据库连接 三、步骤二&#xff1a;数据获取与处理1、查询数据库2、数据处理 四、步骤三&#xff1a;ECharts图表配置与渲染1、配置ECharts选项2、动…

【Java基础面试题038】栈和队列在Java中的区别是什么?

回答重点 栈&#xff08;Stack&#xff09;&#xff1a;遵循后进先出&#xff08;LIFO&#xff0c;Last In&#xff0c;First Out&#xff09;原则。即&#xff0c;最后插入的元素最先被移除。主要操作包括push&#xff08;入栈&#xff09;和pop&#xff08;出栈&#xff09;…

idea2024创建JavaWeb项目以及配置Tomcat详解

今天呢&#xff0c;博主的学习进度也是步入了JavaWeb&#xff0c;目前正在逐步杨帆旗航&#xff0c;迎接全新的狂潮海浪。 那么接下来就给大家出一期有关JavaWeb的配置教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正…

由于这些关键原因,我总是手边有一台虚拟机

概括 虚拟机提供了一个安全的环境来测试有风险的设置或软件,而不会影响您的主系统。设置和保存虚拟机非常简单,无需更改主要设备即可方便地访问多个操作系统。运行虚拟机可能会占用大量资源,但现代 PC 可以很好地处理它,为实验和工作流程优化提供无限的可能性。如果您喜欢使…

【FPGA】ISE13.4操作手册,新建工程示例

关注作者了解更多 我的其他CSDN专栏 求职面试 大学英语 过程控制系统 工程测试技术 虚拟仪器技术 可编程控制器 工业现场总线 数字图像处理 智能控制 传感器技术 嵌入式系统 复变函数与积分变换 单片机原理 线性代数 大学物理 热工与工程流体力学 数字信号处…