摘要:
@echo off SETLOCAL EnableDelayedExpansion for /d %%d in (%USERPROFILE%\sdk\*) do ( set sdk_dir=%%d ) SETLOCAL DisableDelayedExpansion rem 下面这行可能需要根据机器 阅读全文
摘要:
1. 读取文件 文件读取是所有编程语言中最常见的操作之一。本教程我们会学习如何使用 Go 读取文件。 本教程分为如下小节。 将整个文件读取到内存 使用绝对文件路径 使用命令行标记来传递文件路径 将文件绑定在二进制文件中 分块读取文件 逐行读取文件 将整个文件读取到内存 将整个文件读取到内存是最基本的 阅读全文
摘要:
1. Panic和recover 什么是 panic? 在 Go 语言中,程序中一般是使用错误来处理异常情况。对于程序中出现的大部分异常情况,错误就已经够用了。 但在有些情况,当程序发生异常时,无法继续运行。在这种情况下,我们会使用 panic 来终止程序。当函数发生 panic 时,它会终止运行, 阅读全文
摘要:
1. 自定义错误 在上一教程里,我们学习了 Go 中的错误是如何表示的,并学习了如何处理标准库里的错误。我们还学习了从标准库的错误中提取更多的信息。 在本教程中,我们会学习如何创建我们自己的自定义错误,并在我们创建的函数和包中使用它。我们会使用与标准库中相同的技术,来提供自定义错误的更多细节信息。 阅读全文
摘要:
什么是 defer? defer 语句的用途是:含有 defer 语句的函数,会在该函数将要返回之前,调用另一个函数。这个定义可能看起来很复杂,我们通过一个示例就很容易明白了。 示例 package main import ( "fmt" ) func finished() { fmt.Printl 阅读全文
摘要:
1. 合取代继承 Go 不支持继承,但它支持组合(Composition)。组合一般定义为“合并在一起”。汽车就是一个关于组合的例子:一辆汽车由车轮、引擎和其他各种部件组合在一起。 通过嵌套结构体进行组合 在 Go 中,通过在结构体内嵌套结构体,可以实现组合。 组合的典型例子就是博客帖子。每一个博客 阅读全文
摘要:
Mutex vs 信道 通过使用 Mutex 和信道,我们已经解决了竞态条件的问题。那么我们该选择使用哪一个?答案取决于你想要解决的问题。如果你想要解决的问题更适用于 Mutex,那么就用 Mutex。如果需要使用 Mutex,无须犹豫。而如果该问题更适用于信道,那就使用信道。:) 由于信道是 Go 阅读全文
摘要:
关闭信道和使用 for range 遍历信道 数据发送方可以关闭信道,通知接收方这个信道不再有数据发送过来。 当从信道接收数据时,接收方可以多用一个变量来检查信道是否已经关闭。 v, ok := <- ch 上面的语句里,如果成功接收信道所发送的数据,那么 ok 等于 true。而如果 ok 等于 阅读全文
摘要:
从技术上看并发和并行 通过现实中的例子,我们已经明白了什么是并发,以及并发与并行的区别。作为一名极客,我们接下来从技术的角度来考察并发和并行。:) 假如我们正在编写一个 web 浏览器。这个 web 浏览器有各种组件。其中两个分别是 web 页面的渲染区和从网上下载文件的下载器。假设我们已经构建好了 阅读全文
摘要:
结构体相等性(Structs Equality) 结构体是值类型。如果它的每一个字段都是可比较的,则该结构体也是可比较的。如果两个结构体变量的对应字段相等,则这两个变量也是相等的。 package main import ( "fmt" ) type name struct { firstName 阅读全文
摘要:
1. 数组和切片 数组是同一类型元素的集合。例如,整数集合 5,8,9,79,76 形成一个数组。Go 语言中不允许混合不同类型的元素,例如包含字符串和整数的数组。(译者注:当然,如果是 interface{} 类型数组,可以包含任意类型) 数组的声明1 一个数组的表示形式为 [n]T。n 表示数组 阅读全文
摘要:
Go 语言运算符 运算符用于在程序运行时执行数学或逻辑运算。 Go 语言内置的运算符有: l 算术运算符 l 关系运算符 l 逻辑运算符 l 位运算符 l 赋值运算符 l 其他运算符 算术运算符 下表列出了所有Go语言的算术运算符。假定 A 值为 10,B 值为 20。 运算符 描述 实例 + 相加 阅读全文
摘要:
这是我们 Golang 系列教程的第一个教程。 1. GO介绍与安装 Golang 是什么 Go 亦称为 Golang(译注:按照 Rob Pike 说法,语言叫做 Go,Golang 只是官方网站的网址),是由谷歌开发的一个开源的编译型的静态语言。 Golang 的主要关注点是使得高可用性和可扩展 阅读全文
摘要:
<template> <div> <DrawerComponent /> </div></template> <script>import DrawerComponent from './Drawer.vue' export default { components: { DrawerCompone 阅读全文
摘要:
1 题目(单选题) 如下Go语言程序的输出结果是() package main import "fmt" func f1(name string) string { fmt.Println("in f1", name) return name } func f2(name string) strin 阅读全文
摘要:
导语:Vim 作为一款强大而高效的文本编辑器,一直备受程序员和技术爱好者的喜爱。本篇教程将带你逐步掌握 Vim 的各种技巧和功能,助你成为一名真正的 Vim 大师。 一、Vim的起源和特点,以及为什么选择使用Vim作为文本编辑器 Vim是一款经典的文本编辑器,诞生于20世纪80年代,是Vi编辑器的改 阅读全文
摘要:
在面向百度编程的过程中,我们总是会上网找答案,而CSDN就是其中一个答案聚居地,但是它总是会有下面的问题: 问题一: 问题二: 解决方法如下: 问题一:解决登录后才能复制代码 1.在需要复制的代码处,右键选择检查 2. 3.F12,在console中输入神秘代码:document.body.cont 阅读全文
摘要:
背景 由于公司有规定,不能直接登陆CSDN,由于工作中时不时会参考一下CSDN的代码(主要是想一键复制),而鼠标放到代码上面则会提示登陆后复制,这就很伤心难过了。CSDN代码要登录才能复制,让这个平台的使用体验极其不太好(仅此吐槽一下而已),小编为大家整理了以下几种方法可以解决。 目录 1、检查网页 阅读全文
摘要:
推荐8个程序员常用的接单平台,不管做兼职、副业,还是全职自由职业,都可能会用到下面几个网站,特别推荐第一个。 飞援 地址链接:https://www.freetalen.com/ 程序员远程灵活用工平台,聚集了高质量的兼职和全职自由职业开发者,会对开发者的开发经验有一定要求(会有测评和面试流程),但 阅读全文
摘要:
在 ChatGPT 问世之前,我们的编码方式很多时候都是面向搜索引擎编码,需要不断地进行搜索,然后复制粘贴,俗称复制粘贴工程师。 但是,随着ChatGPT的出现,这一切将彻底改变。 ChatGPT 是一种基于人工智能的自然语言处理模型,可以根据上下文理解人类语言并生成相应的回复。在编码方面,Chat 阅读全文