[Golang] Go语言基础一知半解??这些你容易忽视的知识点(第一期)

news2024/11/23 16:08:39

😚一个不甘平凡的普通人,致力于为Golang社区和算法学习做出贡献,期待您的关注和认可,陪您一起学习打卡!!!😘😘😘
🤗专栏:算法学习
🤗专栏:Go实战
💬个人主页:个人主页

在这里插入图片描述

文章目录

  • 1. := 语法糖的理解误区
  • 2. 为什么nil != nil
  • 3. 空结构的作用
  • 4. 什么是并行和并发
  • 5. goroutine 和 channel

1. := 语法糖的理解误区

在基础类型中,map,interface,point,channel,函数等空值为nil
:= 定义时声明并初始化了变量,同时也分配了内存地址,所以是一个真正的实例 ,不是空值
在这里插入图片描述

2. 为什么nil != nil

首先我们可以知道的是:
编译器可以清楚的知道变量的类型,但是接口类型除外
在这里插入图片描述
为什么s1 和 s2 同为nil,比较却是不相同的,因为接口的内部是分为Type和Value的,
s1 (T=*int,V=nil) s2 (T=nil,V=nil) 所以是不同的,所以导致nil != nil

下面这个例子,将给空接口赋值,因为类型不同,所以不等于nil
在这里插入图片描述

3. 空结构的作用

空结构 没有任何字段的结构类型,并且占用空间的大小为零字节
具体应用:
1. 在定义channel 时,使用空结构体代替基本类型来传递信号,更快更便捷
2. 能够防止unkeyed初始化结构

4. 什么是并行和并发

顺序执行:正在吃法,电话响了,吃完饭再接电话
并行:同一时间去做多件事,电脑同时能播放音乐和打游戏
并发:没有时间间隔,正在吃饭,电话响了,先接电话,打完电话再吃饭

5. goroutine 和 channel

goroutinue 指 协程,比线程更轻量级
channel 指 管道,用于协程之间的通信

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

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

相关文章

液压控制系列之活塞位置测量(带原点标定功能)

液压轴位置控制详细内容请参看下面博客文章: 液压轴位置闭环控制(比例伺服阀应用)_RXXW_Dor的博客-CSDN博客液压阀的基础知识请参看下面的博客文章:PLC液压控制系列之比例流量阀结构分析_RXXW_Dor的博客-CSDN博客比例流量阀液压同步控制的PID闭环调节可以参看下面这篇博文三…

生命周期引入

实例:mouted:当vue完成模板解析并把真实的DOM元素放入页面后调用mounted 生命周期: 又名:生命周期回调函数、生命周期函数、生命周期钩子是什么:vue在关键时刻帮我们调用的一些特殊名称的函数生命周期函数的名字不可更…

CEF与Qt 结合注意事项

默认情况下,CEF 是/MT,而Qt是/MD 那么,如果你没有去在意MT、MD选项,那么极大可能性,会遇到程序崩溃的问题,并且表象会误导你查明原因的方向。并且,更换多个IDE也无法查明原因。 例子 当加载网…

【Linux】Linux开发工具

Linux开发工具 前言Linux编辑器 --- vimvim长啥样vim的基本概念vim的配置 Linux编译器 --- gcc/g编译和链接预处理编译汇编链接 细🔒链接静态库和动态库 Linux调试器 --- gdbLinux项目自动化构建工具 --- make/Makefile依赖关系和依赖方法 上方工具的简单示例 前言 …

MyBatis(二)—— 进阶

一、详解配置文件 1.1 核心配置文件 官方建议命名为mybatis-config.xml&#xff0c;核心配置文件里可以进行如下的配置&#xff1a; <environments> 和 <environment> mybatis可以配置多套环境&#xff08;开发一套、测试一套、、、&#xff09;&#xff0c; 在…

c实例练习笔记(拓展)

本博文参考题目的地址看右边----》C技能树 我跟你说&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;c语言有bool类型&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;你是不是百度跟你说没有只有c才有&#xff1f; 是有的&#xff01;&#xf…

第六章 完善内核

函数调用约定简介 参数的传递方式&#xff1a;使用后栈来保存。 每个进程都有自己的栈&#xff0c;这就是每个内存自己的专用内存空间&#xff1b;保存参数的内存地址不用再花精力维护&#xff0c;已经有栈机制来维护地址变化了&#xff0c;参数在栈中的位置可以通过栈顶的偏移…

QMS-云质说质量 - 1 张小泉的质量危机

云质QMS原创 转载请注明来源 作者&#xff1a;王洪石 引言 百年老店的拍蒜质量门 最近张小泉拍蒜断刀事件&#xff0c;吸引了全民关注&#xff0c;虽然随后发布了“断刀召集令”&#xff0c;但从事件发生到后续拖沓且不专业的应对&#xff0c;张小泉肯定是“失蒜”了。 张小泉…

一篇终结synchronized

一&#xff1a;基本原理 Java对象在内存中由两部分组成 &#xff1a; 1 是成员变量 2 是对象头&#xff0c;以32位虚拟机介绍&#xff1a;此时对象头是64位&#xff0c;即8字节 其中32个字节代表 mark word 另外32个字节代表klass word分别是什么意思呢&#xff1f; 1 klass …

文心一言 VS chatgpt (12)-- 算法导论3.1 6~7题

六、证明&#xff1a;一个算法的运行时间为θ(g(n))当且仅当其最坏情况运行时间为O(g(n))&#xff0c;且其最好情况运行时间为Ω(g(n)) 。 文心一言&#xff1a; chatgpt&#xff1a; 要证明「一个算法的运行时间为θ(g(n))当且仅当其最坏情况运行时间为O(g(n))&#xff0c;且…

LeetCode213 打家劫舍 II 动态规划法

题目地址 https://leetcode.cn/problems/house-robber-ii/ 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋&#xff0c;每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 &#xff0c;这意味着第一个房屋和最后一个房屋是紧挨着的。同时&#xff0c;相邻的房屋装…

【Hive实战】Windows下 IDEA DEBUG hiveMetastore hive2.3.9

Windows下 IDEA DEBUG hiveMetastore hive2.3.9 环境准备 编译好hive2.3.9源码&#xff0c;参考文档编译hive2.3.9源码准备好Mysql库&#xff0c;并手动创建schema&#xff0c;相关sql文件&#xff1a;hive-schema-2.3.0.mysql.sql和hive-txn-schema-2.3.0.mysql.sql。 启动…

SpringCloud --- Gateway服务网关

一、简介 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。 二、为…

QT实现固高运动控制卡示波器

目录 一、固高示波器 二、基于QCustomPlot实现示波器 三、完整源码 一、固高示波器 固高运动控制卡自带的软件有一个示波器功能&#xff0c;可以实时显示速度的波形&#xff0c;可辅助分析电机的运行状态。但是我们基于sdk开发了自己的软件&#xff0c;无法再使用该功能&…

深度学习技巧应用8-各种数据类型的加载与处理,并输入神经网络进行训练

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下深度学习技巧应用8-各种数据类型的加载与处理&#xff0c;并输入神经网络进行训练。在模型训练中&#xff0c;大家往往对各种的数据类型比较难下手&#xff0c;对于非结构化数据已经复杂的数据的要进行特殊处理&…

听我一句劝,别去外包,干了三年,废了....

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

2.黑马SpringbBoot运维篇笔记自己修改

SpringBoot运维实用篇 ​ 基础篇发布以后&#xff0c;看到了很多小伙伴在网上的留言&#xff0c;也帮助超过100位小伙伴解决了一些遇到的问题&#xff0c;并且已经发现了部分问题具有典型性&#xff0c;预计将有些问题在后面篇章的合适位置添加到本套课程中&#xff0c;作为解…

[社区图书馆】《PyTorch高级机器学习实战》书评

《PyTorch高级机器学习实战》是一本非常实用的机器学习书籍&#xff0c;作者为阿里云智能首席AI专家赵健。这本书的目标读者是具有一定Python编程基础并对深度学习有兴趣的开发者和研究者。 在书中&#xff0c;作者从最基础的线性回归、逻辑回归、卷积神经网络&#xff08;CNN…

前端食堂技术周刊第 80 期:Vite 4.3、Node.js 20、TS 5.1 Beta、Windi CSS 即将落幕

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;东坡肉 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 本期摘要 Vite 4.3Node.js 20TypeScript 5.1 BetaWindi CSS 即将落幕Pretty TypeScri…

springboot项目的jar文件以打包成docker镜像的方式部署

清单&#xff1a; 安装有docker的Linuxspringboot打包的jar文件&#xff08;该项目只有一个返回"hello world"接口&#xff09; Linux的IP地址&#xff1a;192.168.221.129 springboot项目的接口&#xff1a; 1、上传jar文件至Linux 我上传的位置为&#xff1a;/…