learn.lianglianglee.com/专栏/22 讲通关 Go 语言-完/index.html
2022-08-14 03:40:33 +08:00

194 lines
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="icon" href="/static/favicon.png">
<title>note-submit</title>
<!-- Spectre.css framework -->
<link rel="stylesheet" href="/static/index.css">
<!-- theme css & js -->
<meta name="generator" content="Hexo 4.2.0">
</head>
<body>
<div class="book-container">
<div class="book-sidebar">
<div class="book-brand">
<a href="/">
<img src="/static/favicon.png">
<span>技术文章摘抄</span>
</a>
</div>
<div class="book-menu uncollapsible">
<ul class="uncollapsible">
<li><a href="/" class="current-tab">首页</a></li>
</ul>
<ul class="uncollapsible">
<li><a href="../">上一级</a></li>
</ul>
<ul class="uncollapsible">
<li>
<a href="/PDF">PDF</a>
</li>
<li>
<a href="/专栏">专栏</a>
</li>
<li>
<a href="/恋爱必修课">恋爱必修课</a>
</li>
<li>
<a href="/文章">文章</a>
</li>
<li>
<a href="/极客时间">极客时间</a>
</li>
</ul>
</div>
</div>
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
<div class="sidebar-toggle-inner"></div>
</div>
<script>
function add_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.add('show')
}
function remove_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.remove('show')
}
function sidebar_toggle() {
let sidebar_toggle = document.querySelector('.sidebar-toggle')
let sidebar = document.querySelector('.book-sidebar')
let content = document.querySelector('.off-canvas-content')
if (sidebar_toggle.classList.contains('extend')) { // show
sidebar_toggle.classList.remove('extend')
sidebar.classList.remove('hide')
content.classList.remove('extend')
} else { // hide
sidebar_toggle.classList.add('extend')
sidebar.classList.add('hide')
content.classList.add('extend')
}
}
function open_sidebar() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.add('show')
overlay.classList.add('show')
}
function hide_canvas() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.remove('show')
overlay.classList.remove('show')
}
</script>
<div class="off-canvas-content">
<div class="columns">
<div class="column col-12 col-lg-12">
<div class="book-navbar">
<!-- For Responsive Layout -->
<header class="navbar">
<section class="navbar-section">
<a onclick="open_sidebar()">
<i class="icon icon-menu"></i>
</a>
</section>
</header>
</div>
<div class="book-content"
style="max-width: 960px; margin: 0 auto; overflow-x: auto; overflow-y: hidden;">
<div class="book-post">
<p id="tip" align="center"></p>
<div><!--add content-->
<h1>22 讲通关 Go 语言-完</h1>
<ul>
<li><a href = '\专栏\22 讲通关 Go 语言-完\00 开篇词 Go 为开发者的需求设计,带你实现高效工作.md.html'>00 开篇词 Go 为开发者的需求设计,带你实现高效工作</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\01 基础入门:编写你的第一个 Go 语言程序.md.html'>01 基础入门:编写你的第一个 Go 语言程序</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\02 数据类型:你必须掌握的数据类型有哪些?.md.html'>02 数据类型:你必须掌握的数据类型有哪些?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\03 控制结构if、for、switch 逻辑语句的那些事儿.md.html'>03 控制结构if、for、switch 逻辑语句的那些事儿</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\04 集合类型:如何正确使用 array、slice 和 map.md.html'>04 集合类型:如何正确使用 array、slice 和 map</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\05 函数和方法Go 语言中的函数和方法到底有什么不同?.md.html'>05 函数和方法Go 语言中的函数和方法到底有什么不同?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\06 struct 和 interface结构体与接口都实现了哪些功能.md.html'>06 struct 和 interface结构体与接口都实现了哪些功能</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\07 错误处理:如何通过 error、deferred、panic 等处理错误?.md.html'>07 错误处理:如何通过 error、deferred、panic 等处理错误?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\08 并发基础Goroutines 和 Channels 的声明与使用.md.html'>08 并发基础Goroutines 和 Channels 的声明与使用</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\09 同步原语sync 包让你对并发控制得心应手.md.html'>09 同步原语sync 包让你对并发控制得心应手</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\10 Context你必须掌握的多线程并发控制神器.md.html'>10 Context你必须掌握的多线程并发控制神器</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\11 并发模式Go 语言中即学即用的高效并发模式.md.html'>11 并发模式Go 语言中即学即用的高效并发模式</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\12 指针详解:在什么情况下应该使用指针?.md.html'>12 指针详解:在什么情况下应该使用指针?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\13 参数传递:值、引用及指针之间的区别?.md.html'>13 参数传递:值、引用及指针之间的区别?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\14 内存分配new 还是 make什么情况下该用谁.md.html'>14 内存分配new 还是 make什么情况下该用谁</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\15 运行时反射:字符串和结构体之间如何转换?.md.html'>15 运行时反射:字符串和结构体之间如何转换?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\16 非类型安全:让你既爱又恨的 unsafe.md.html'>16 非类型安全:让你既爱又恨的 unsafe</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\17 SliceHeaderslice 如何高效处理数据?.md.html'>17 SliceHeaderslice 如何高效处理数据?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\18 质量保证Go 语言如何通过测试保证质量?.md.html'>18 质量保证Go 语言如何通过测试保证质量?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\19 性能优化Go 语言如何进行代码检查和优化?.md.html'>19 性能优化Go 语言如何进行代码检查和优化?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\20 协作开发:模块化管理为什么能够提升研发效能?.md.html'>20 协作开发:模块化管理为什么能够提升研发效能?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\21 网络编程Go 语言如何玩转 RESTful API 服务?.md.html'>21 网络编程Go 语言如何玩转 RESTful API 服务?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\22 网络编程Go 语言如何通过 RPC 实现跨平台服务?.md.html'>22 网络编程Go 语言如何通过 RPC 实现跨平台服务?</a></li>
<li><a href = '\专栏\22 讲通关 Go 语言-完\23 结束语 你的 Go 语言成长之路.md.html'>23 结束语 你的 Go 语言成长之路</a></li>
</ul>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
</div>
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
</div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194"
integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw=="
data-cf-beacon='{"rayId":"70996b2f083d3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}'
crossorigin="anonymous"></script>
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-NPSEEVD756');
var path = window.location.pathname
var cookie = getCookie("lastPath");
console.log(path)
if (path.replace("/", "") === "") {
if (cookie.replace("/", "") !== "") {
console.log(cookie)
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
}
} else {
setCookie("lastPath", path)
}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
}
return "";
}
</script>
</html>