首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
有点心急
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
有点心急
关注了
坚果派_坚果
有点心急
2年前
举报
#挑战每日一条沸点#
http状态码好多啊, 但是常用的也就那么几个, emmmmmm
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
关注
延迟 | 青训营
我们用一个简单的示例来揭开defer的秘密。 test.go 反编译: 编译器将defer处理成两个函数调用,deferproc定义一个延迟调用对象。...
0
评论
分享
有点心急
2年前
关注
反射 | 青训营
反射(reflect)让我们能在运行期探知对象的类型信息和内存结构,这从一定程度上弥补了静态语言在动态行为上的不足。同时,反射还是实现元编程的重要手段。...
0
评论
分享
有点心急
2年前
举报
#挑战每日一条沸点#
反射(reflect)让我们能在运行期探知对象的类型信息和内存结构,这从一定程度上弥补了静态语言在动态行为上的不足。同时,反射还是实现元编程的重要手段。和C数据结构一样,Go对象头部并没有类型指针,通过其自身是无法在运行期获知任何类型相关信息的。反射操作所需的全部信息都源自接口变量。接口变量除存储自身类型外,还会保存实际对象的类型数据。
展开
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
关注
通道 | 青训营
相比Erlang,Go并未实现严格的并发安全。 允许全局变量、指针、引用类型这些非安全内存共享操作,就需要开发人员自行维护数据一致和完整性。Go鼓励使用CSP通道,以通信来...
0
评论
分享
有点心急
2年前
关注
接口 | 青训营
接口代表一种调用契约,是多个方法声明的集合。 在某些动态语言里,接口(interface)也被称作协议(protocol)。...
0
评论
分享
有点心急
2年前
举报
#挑战每日一条沸点#
感觉自己好菜, 哈哈哈哈, 一个简单的bug三个小时都没处理好, 太费了吧
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
关注
表达式(方法) | 青训营
方法和函数一样,除直接调用外,还可赋值给变量,或作为参数传递。依照具体引用方式的不同,可分为expression和value两种状态。...
0
评论
分享
有点心急
2年前
举报
#挑战每日一条沸点#
多个项目如果用了不同的orm框架,千万不要放在同一个工作区。
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
关注
单元测试(unit test) | 青训营
单元测试(unit test)除用来测试逻辑算法是否符合预期外,还承担着监控代码质量的责任。任何时候都可用简单的命令来验证全部功能,找出未完成任务(验收)和任何因修改而造成...
0
评论
分享
有点心急
2年前
举报
#挑战每日一条沸点#
grpc真的好难啊, 有没有懂的教教我
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
关注
go语言中的错误处理 | 青训营
错误处理是每个编程语言都要考虑的一个重要话题。在Go语言的错误处理中,错误是软件包API和应用程序用户界面的一个重要组成部分。 在程序中总有一部分函数总是要求必须能够成功的...
0
评论
分享
有点心急
2年前
举报
#每天一个知识点#
Go的函数名和医名函数字面量的值有3层含义:
(1)类型信息,表明其数据类型是函数类型。
(2)函数名代表函数的执行代码的起始位置。
(3)可以通过函数名进行函数调用,函数调用格式为funcname(param list)。
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
关注
day1 defer 延迟注销 | 青训营
语句defer向当前函数注册稍后执行的函数调用。这些调用被称作延迟调用,因为它们直到当前函数执行结束前才被执行,常用于资源释放、解除锁定,以及错误处理等操作。...
0
评论
分享
有点心急
2年前
举报
#每天一个知识点#
相比数字、数组等类型,引用类型拥有更复杂的存储结构。除分配内存外,它们还须初始化一系列属性,诸如指针、长度,甚至包括哈希分布、数据队列等。内置函数new按指定类型长度分配零值内存,返回指针,并不关心类型内部构造和初始化方式。而引用类型则必须使用make函数创建,编译器会将make转换为目标类型专用的创建函数(或指令),以确保完成全部内存分配和相关属性初始化。
展开
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
举报
#挑战每日一条沸点#
某些时候,转换操作会拖累算法性能,可尝试用“非安全”方法进行改善。
func toString(bs[]byte)string{
return*(*string)(unsafe.Pointer(&bs))
}
该方法利用了[]byte和string头结构“部分相同”,以非安全的指针类型转换来实现类型“变更”,从而避免了底层数组复制。在很多Web Framework中都能看到此类做法,在高并发压力下,此种做法能有效改善执行性能。只是使用unsafe存在一定的风险,须小心谨慎!
展开
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
举报
#挑战每日一条沸点#
大量函数和方法返回error,使得调用代码变得很难看,一堆堆的检查语句充斥在代码行间。解决思路有:
使用专门的检查函数处理错误逻辑(比如记录日志),简化检查代码。
在不影响逻辑的情况下,使用defer延后处理错误状态(err退化赋值)。
在不中断逻辑的情况下,将错误作为内部状态保存,等最终“提交”时再处理。
展开
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
举报
#每天一个知识点#
返古的错误处理方式,是Go被谈及最多的内容之一。有人戏称做“Stuck in 70’s”,可见它与流行趋势背道而驰。
青训营-快乐出发
分享
评论
点赞
有点心急
2年前
举报
#挑战每日一条沸点#
终于完成了注册和登录接口, 好难啊
青训营-快乐出发
分享
评论
点赞
下一页
个人成就
文章被阅读
409
掘力值
82
关注了
2
关注者
0
收藏集
0
关注标签
0
加入于
2022-08-11