首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
拥抱Golang
旧裤子
创建于2023-08-07
订阅专栏
golang知识专栏
暂无订阅
共18篇文章
创建于2023-08-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
【golang】panic函数、recover函数以及defer语句
从panic被引发到程序终止运行的大致过程是什么? 大致过程: 某个函数中的某行代码有意无意地引发了一个panic。这时,初始的panic详情会被建立起来,并且该程序的控制权会立即从从行代码转移至调用
【golang】for语句和switch语句
使用携带range子句的for语句时需要注意哪些细节? 这段代码执行后会打印出什么内容? 答案:[1 2 3 7 5 6] 当for语句被执行的时候,在range关键字右边的numbers1会先被求值
【golang】go语句执行规则(goroutine)(下)
怎样才能让主goroutine等待其他goroutine? 上篇文章提到,一旦主 goroutine 中的代码执行完毕,当前的 Go 程序就会结束运行,无论其他的 goroutine 是否已经在运行了
【golang】go语句执行规则(goroutine)(上)
从Go语言编程的角度解释,这句话的意思就是:不要通过共享数据来通讯,恰恰相反,要以通讯的方式共享数据。 进程和线程 进程,描述的就是程序的执行过程,是运行着的程序的代表。换句话说,一个进程其实就是某个
【golang】关于指针的有限操作
传统意义上来说,指针是一个指向某个确切的内存地址的值。这个内存地址可以是任何数据或代码的起始地址。在Go语言中有几种东西可以代表"指针"。其中最贴切传统意义的当属uintptr类型的了。该类型实际上是
【golang】接口类型(interface)使用和原理
接口类型的类型字面量与结构体类型的看起来有些相似,它们都用花括号包裹一些核心信息。只不过,结构体类型包裹的是它的字段声明,而接口类型包裹的是它的方法定义。 接口类型声明中的这些方法所代表的就是该接口的
【golang】结构体及其方法的使用(struct)
函数是独立的程序实体。我们可以声明有名字的函数,也可以声明没名字的函数,还可以把它们当做普通的值传来传去。我们能把具有相同签名的函数抽象成独立的函数类型,以作为一组输入、输出(或者说一类逻辑组件)的代
【golang】函数(func)正确使用姿势
函数不但可以用于封装代码、分割功能、解耦逻辑,还可以化身为普通的值,在其他函数间传递、赋予变量、做类型判断和转换等等,就像切片和字典的值那样。 而更深层次的含义就是:函数值可以由此成为能够被随意传播的
【golang】通道(channel)的基本原理(二)
我们在说"通道"一般指的都是双向通道,即:既可以发也可以收的通道。 而单向通道就是,只能发不能收,或者只能收不能发的通道。一个通道是双向还是单向的是由它的类型字面量决定的。 比如: 上面代码声明并初始
【golang】通道(channel)的基本原理(一)
通道类型的值本身就是并发安全的,这也是Go语言自带的、唯一一个可以满足并发安全性的类型。 声明一个通道类型变量的时候,我们首先要确定该通道类型的元素类型,决定了我们可以通过这个通道传递什么类型的数据。
【golang】字典(map)的操作和约束原理
字典(map)存储的不是单一值的集合,而是键值对的集合。 在Go语言规范中,应该是为了避免歧义,他们将键值对换了一种称呼,叫做:"键-元素对"。 为什么字典的键类型会受到约束? Go语言的字典类型其实
【golang】链表(List)
List实现了一个双向链表,而Element则代表了链表中元素的结构。 可以把自己生成的Element类型值传给链表吗? 首先来看List的四种方法。 MoveBefore方法和MoveAfter方法
【golang】数组和切片底层原理
数组类型的值(以下简称数组)的长度是固定的,而切片类型的值(以下简称切片)是可变长的。 数组的长度在声明它的时候就必须给定,并且之后不会再改变。可以说,数组的长度是其类型的一部分。比如,[1]stri
【golang】怎样判断一个变量的类型?
怎样判断一个变量的类型? 那么,怎样在打印其中元素之前,正确判断变量container的类型? 典型回答 使用类型断言 这里有一条赋值语句。在赋值符号的右边,是一个类型断言表达式。 它包括了用来把co
【golang】类型推断和变量重声明
类型推断是一种编程语言在编译期自动解释表达式类型的能力。 1.Go语言的类型推断可以带来哪些好处? 在写代码时,我们通过使用Go语言的类型推断会节省敲击次数,而节省下来的键盘敲击次数几乎可以忽略不记。
【golang】库源码文件
库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从Go语言规范的话)。 怎样把命令源码文件中的代码拆分到其他库源码文件? 如果在某个目录下有一个命令源
【golang】命令源码文件
命令源码文件的用途是什么,怎样编写它? 参考答案:命令源码文件是程序的运行入口,是每个可独立运行的程序必须拥有的。我们可以通过构建或安装,生成与其对应的可执行文件,后者一般会与该命令源码文件的直接父目
【golang】工作区与GOPATH
在学习go语言时,我们会从官网下载go语言的二进制包,然后解压并安装到某个目录,最后会配置环境变量,通过输入命令go version来验证是否安装成功。 配置了path环境后,我们还需要再配置3个环境