<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Yesterday_Tomorrow的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Yesterday_Tomorrow</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Yesterday_Tomorrow]]></copyright><item><title><![CDATA[Go语言nil：空值/零值]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135604952</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135604952</guid><author>Yesterday_Tomorrow</author><pubDate>Mon, 15 Jan 2024 16:55:02 +0800</pubDate><description><![CDATA[在Go语言中，布尔类型的零值（初始值）为 false，数值类型的零值为 0，字符串类型的零值为空字符串""，而指针、切片、映射、通道、函数和接口的零值则是 nil。nil 是Go语言中一个预定义好的标识符，有过其他编程语言开发经验的开发者也许会把 nil 看作其他语言中的 null（NULL），其实这并不是完全正确的，因为Go语言中的 nil 和其他语言中的 null 有很多不同点。下面通过几个方面来介绍一下Go语言中 nil。]]></description><category></category></item><item><title><![CDATA[Go语言容器3-List]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135604221</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135604221</guid><author>Yesterday_Tomorrow</author><pubDate>Mon, 15 Jan 2024 16:27:40 +0800</pubDate><description><![CDATA[列表是一种非连续的存储容器，由多个节点组成，节点通过一些变量记录彼此之间的关系，列表有多种实现方法，如单链表、双链表等。列表的原理可以这样理解：假设 A、B、C 三个人都有电话号码，如果 A 把号码告诉给 B，B 把号码告诉给 C，这个过程就建立了一个单链表结构，如下图所示。如果在这个基础上，再从 C 开始将自己的号码告诉给自己所知道号码的主人，这样就形成了双链表结构，如下图所示。]]></description><category></category></item><item><title><![CDATA[Go-语言容器2-切片/Map]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135604164</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135604164</guid><author>Yesterday_Tomorrow</author><pubDate>Mon, 15 Jan 2024 16:07:57 +0800</pubDate><description><![CDATA[不过需要注意的是，在使用 append() 函数为切片动态添加元素时，如果空间不足以容纳足够多的元素，切片就会进行“扩容”，此时新切片的长度会发生改变。切片在扩容时，容量的扩展规律是按容量的 2 倍数进行扩充，例如 1、2、4、8、16……通过查看代码输出，可以发现一个有意思的规律：切片长度 len 并不等于切片的容量 cap。]]></description><category></category></item><item><title><![CDATA[Go-语言容器1-数组/二维数组/切片]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135089712</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135089712</guid><author>Yesterday_Tomorrow</author><pubDate>Tue, 19 Dec 2023 17:35:42 +0800</pubDate><description><![CDATA[数组是一个由固定长度的特定类型元素组成的序列，一个数组可以由零个或多个元素组成。因为数组的长度是固定的，所以在Go语言中很少直接使用数组。和数组对应的类型是 Slice（切片），Slice 是可以增长和收缩的动态序列，功能也更灵活，但是想要理解 slice 工作原理的话需要先理解数组。]]></description><category></category></item><item><title><![CDATA[GO-基本语法2]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135018374</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135018374</guid><author>Yesterday_Tomorrow</author><pubDate>Fri, 15 Dec 2023 15:58:24 +0800</pubDate><description><![CDATA[类型别名规定：TypeAlias 只是 Type 的别名，本质上 TypeAlias 与 Type 是同一个类型，就像一个孩子小时候有小名、乳名，上学后用学名，英语老师又会给他起英文名，但这些名字都指的是他本人。类型别名与类型定义表面上看只有一个等号的差异，那么它们之间实际的区别有哪些呢？下面通过一段代码来理解。import ("fmt"// 将NewInt定义为int类型// 将int取一个别名叫IntAlias// 将a声明为NewInt类型// 查看a的类型名。]]></description><category></category></item><item><title><![CDATA[Go-基本语法]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135015297</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/135015297</guid><author>Yesterday_Tomorrow</author><pubDate>Fri, 15 Dec 2023 15:22:32 +0800</pubDate><description><![CDATA[变量的命名规则遵循骆驼命名法，即首个单词小写，每个新单词的首字母大写例如：numShips 和 startDate。]]></description><category></category></item><item><title><![CDATA[Go-目录结构及源文件]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134849332</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134849332</guid><author>Yesterday_Tomorrow</author><pubDate>Thu, 07 Dec 2023 10:42:04 +0800</pubDate><description><![CDATA[目录结构三个目录中我们需要重点关注的是，其他两个目录了解即可。]]></description><category></category></item><item><title><![CDATA[Go-Linux安装]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134848856</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134848856</guid><author>Yesterday_Tomorrow</author><pubDate>Thu, 07 Dec 2023 10:25:55 +0800</pubDate><description><![CDATA[首先，复制Go语言开发包的下载链接（https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz）。然后，在终端使用cd 命令进入你用来存放安装包的目录中（这里使用的是 /usr/local/ 目录，读者也可以使用其它目录）。使用wget 命令下载Go语言开发包，如下所示。正在解析主机 dl.google.com (dl.google.com)... 203.208.39.196, 203.208.39.193, 203.208.39.200, ...]]></description><category></category></item><item><title><![CDATA[Go-Mac安装]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134848735</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134848735</guid><author>Yesterday_Tomorrow</author><pubDate>Thu, 07 Dec 2023 10:23:38 +0800</pubDate><description><![CDATA[Mac OS 的Go语言开发包是 .pkg 格式的，双击我们下载的安装包即可开始安装。Mac OS 下是傻瓜式安装，一路点击“继续”即可，不再赘述。安装包会默认安装在 /usr/local 目录下，如下所示。安装完成之后，在终端运行 go version，如果显示类似下面的信息，表明安装成功。]]></description><category></category></item><item><title><![CDATA[Go-Windows安装]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134848464</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134848464</guid><author>Yesterday_Tomorrow</author><pubDate>Thu, 07 Dec 2023 10:20:35 +0800</pubDate><description><![CDATA[下载Go语言开发包大家可以在Go语言官网（）下载 Windows 系统下的Go语言开发包，如下图所示。这里我们下载的是 64 位的开发包，如果读者的电脑是 32 位系统的话，则需要下载 32 位的开发包，在上图所示页面中向下滚动即可找到 32 位开发包的下载地址，如下图所示。注意：下载 Windows 版本的Go语言开发包时尽量选择 MSI 格式，因为它可以直接安装到系统，不需要额外的操作。]]></description><category></category></item><item><title><![CDATA[Go-语言初识包命令及Vscode运行]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134848023</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134848023</guid><author>Yesterday_Tomorrow</author><pubDate>Thu, 07 Dec 2023 10:13:24 +0800</pubDate><description><![CDATA[在控制台输出“Hello World!]]></description><category></category></item><item><title><![CDATA[Go-语言简介]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134836552</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134836552</guid><author>Yesterday_Tomorrow</author><pubDate>Wed, 06 Dec 2023 17:18:37 +0800</pubDate><description><![CDATA[这不同于 Python、Ruby 和 JavaScript 等语言，它们不包含编译步骤。Go 自带了编译器，因此无须单独安装编译器。]]></description><category></category></item><item><title><![CDATA[GPT4-Prompt 赛博咒语]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134443410</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/134443410</guid><author>Yesterday_Tomorrow</author><pubDate>Thu, 16 Nov 2023 15:52:06 +0800</pubDate><description><![CDATA[提示公式：“按照以下指示生成[任务]：[指令]”]]></description><category></category></item><item><title><![CDATA[【Vue温故】粗略实现Vue源码v-if-v-show及生命周期]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122672609</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122672609</guid><author>Yesterday_Tomorrow</author><pubDate>Mon, 24 Jan 2022 18:13:15 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;Do.]]></description><category></category></item><item><title><![CDATA[【Vue温故】粗略实现VUE源码Computed]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122672589</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122672589</guid><author>Yesterday_Tomorrow</author><pubDate>Mon, 24 Jan 2022 18:10:02 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;

&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;D.]]></description><category></category></item><item><title><![CDATA[【Vue温故】粗略实现VUE源码data与method]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122672562</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122672562</guid><author>Yesterday_Tomorrow</author><pubDate>Mon, 24 Jan 2022 18:08:25 +0800</pubDate><description><![CDATA[一.Method遗漏概念

1.Vue创建实例时，会自动为methods绑定当前实例this，保证在事件监听时，回调始终指向当前组件实例

2.方法要避免使用箭头函数，箭头函数会阻止Vue正确绑定组件实例this

二.粗略实现代理与Method对象


let Vue = (function(){
  function Vue(options){
      this.$data = options.data();
      this._methods = options.methods;
      ]]></description><category></category></item><item><title><![CDATA[【Vue温故】es6深拷贝]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122672537</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122672537</guid><author>Yesterday_Tomorrow</author><pubDate>Mon, 24 Jan 2022 18:07:08 +0800</pubDate><description><![CDATA[这里两个重点

1.同过hashMap记录该对象是否已经被拷贝，从而避免对象循环赋值报错

2.通过origin.constructor即可拿到原型构造方法，不需要去toString判断对象是数组还是对象类型


 function deepClone(origin,hashMap = new WeakMap()){
      if(origin == undefined || typeof origin !=='object'){
        return origin;
      }
     ]]></description><category></category></item><item><title><![CDATA[【Vue温故】 Vue编译-内置指令]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122313003</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/122313003</guid><author>Yesterday_Tomorrow</author><pubDate>Mon, 24 Jan 2022 18:06:04 +0800</pubDate><description><![CDATA[一.Vue编译

vue的模板都是基于HTML，是一套模板编译系统

开发者写的template-&gt;分析HTML字符串-&gt;AST树-&gt;表达式/自定义属性/指令 -&gt;虚拟dom树-&gt;解析真实DOM-&gt;render

其中通过_c_v_s三个函数构建虚拟dom树



二.指令

v-once会影响到子级元素中的数据绑定，若要解决，可以通过es6的${}来解决

v-html 插值不会解析HTML，因为插值是JS表达式，没有对DOM的操作 rawHTML



三.属性

a]]></description><category></category></item><item><title><![CDATA[Vue嵌套路由中的嵌套命名视图个人感悟]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/114954078</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/114954078</guid><author>Yesterday_Tomorrow</author><pubDate>Wed, 17 Mar 2021 23:35:08 +0800</pubDate><description><![CDATA[官网解释感觉没有那么通俗易懂，百度到的基本都是赋值黏贴和没有试验总结的。官网例子有墙看不到，所以可以看看我的总结。


1.官网解释

我们也有可能使用命名视图创建嵌套视图的复杂布局。这时你也需要命名用到的嵌套router-view组件。我们以一个设置面板为例：这个图很形象


/settings/emails                                       /settings/profile
+-----------------------------------+    ..]]></description><category></category></item><item><title><![CDATA[Vue深入-28【数组劫持】]]></title><link>https://blog.csdn.net/Yesterday_Tomorrow/article/details/114442588</link><guid>https://blog.csdn.net/Yesterday_Tomorrow/article/details/114442588</guid><author>Yesterday_Tomorrow</author><pubDate>Sat, 06 Mar 2021 15:13:57 +0800</pubDate><description><![CDATA[observer/array.js




import { observe } from './index'
let oldArrayProtoMethods = Array.prototype;
export let newArrayProtoMethods = Object.create(oldArrayProtoMethods);
let methods = ['push','shift','unshift','pop','splice','sort','reverse'];
export func]]></description><category></category></item></channel></rss>