首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Go云原生
相守之路
创建于2023-03-22
订阅专栏
Go、云原生技术积累
等 2 人订阅
共18篇文章
创建于2023-03-22
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go 接口 interface 面试案例
案例一: Go底层对于非空接口的定义,使用 iface结构体来定义: app 是一个指向nil的空指针,但是最后return app 会触发匿名变量 App = app值拷贝动作 所以最后GetApp
Go channel 基本知识
channel 是Go在语言层面提供的协程间的通信方式,比UNIX的管道更易用也更轻便。 声明一个 channel 在 Go 语言中,声明一个 channel 非常简单,使用内置的 make 函数即可
GitHub 下载或clone加速技巧
在GitHub上看到一个心仪的项目,或者想看大项目的源码和架构,比如Docker这种大型项目。 我们自己去clone代码时,却下载很慢,几十kb每秒甚至都不到。 今天记录下解决GitHub下载慢的技巧。 然后,点击导入按钮。 隐藏的项目勾选上即可。 以上,我们就可以快速的下载G…
Golang学习——error和创建error源码解析
Golang中的错误处理和Java,Python有很大不同,没有try...catch语句来处理错误。因此,Golang中的错误处理是一个比较有争议的点,如何优雅正确的处理错误是值得去深究的。 今天先记录error是什么及如何创建error,撸一撸源码。 error错误指的是可…
GoFrame第一部分(一)——GoFrame介绍及安装
GoFrame是一个功能齐全的框架,第一部分学习笔记以Web服务开发为主,记录所学所想所得。 工欲善其事,必先利其器。本篇文章主要记录GoFrame框架是什么及其如何安装。 GF(Go Frame)是一款模块化、高性能、生产级的Go基础开发框架。实现了比较完善的基础设施建设以及…
VS code——便捷开发Go使用示例
回车,然后输入对应命令需要的参数。没有参数的就回车生效 点击命令,然后输入对应命令需要的参数。没有参数的就生效 先敲一个{},任意结构体的实例化也是这样,如:u := &User{},光标在{}中,然后执行命令操作即可。 可以看到,连注释也顺便帮忙生成了。 默认是只生…
Golang学习——常量const和iota
常量是一个简单值的标识符,在程序运行时,不会被修改的量。 数据类型可以忽略不写,Golang编译器会自动推断出数据类型。 显示指定类型的时候,必须确保常量左右值类型一致,需要时可做显示类型转换。这与变量就不一样了,变量是可以是不同的类型值 1. 每当定义一个const,iota…
Golang学习——结构体struct(二)
这篇文章也是结构体的学习,不过,如果没有结构体struct基础的话,推荐先看Golang学习——结构体struct(一)。 今天主要记录 匿名结构体和匿名字段,结构体嵌套,模拟继承性。 匿名结构体:即没有名字的结构体,在创建匿名结构体时,同时初始化结构体。 初始化时必须的, 不…
Golang学习——interface接口学习(一)
在Golang中,接口是一组方法签名。当类型为接口中的所有方法提供定义时,它被称为实现接口。它与OOP(面向对象编程)非常相似。接口指定了类型应该具有的方法,类型决定了如何实现这些方法。 如果某个对象实现了某个接口的所有方法,则此对象就实现了该接口。 一个接口中可以定义多个方法…
GoFrame——数据校验之结构体校验
GoFrame中gvalid模块实现了非常强大的数据校验功能,内置了40种常用的校验规则,支持单数据多规则校验、多数据多规则批量校验、自定义错误信息、自定义正则校验、自定义校验规则注册、支持struct tag规则及提示信息绑定等特性,是目前功能最强大的Go数据校验模块。 目前…
Golang学习——结构体struct(一)
Golang中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 类似Java,Python中的class。 所以,在输出 Bob 数据类型的时候,前面有个 main,.点表示隶属于main…
Golang学习——error错误处理浅谈
在解析了Golang中error和创建error的源码后(Golang学习——error和创建error源码解析)。 对error有了一定理解,不过error处理才是实际开发中非常重要的一点。 Golang中的error处理是一门大学问,写出优雅又正确的处理代码是比较考验编码功…
Golang——defer的学习及使用
Go提供了defer关键字,可以注册多个延迟调用,这些调用以先进后出(FILO)的顺序在函数返回前被执行。 还有个小细节就是:defer后面的函数是匿名函数时,一定要记得在结尾加(),表示调用该匿名函数,有参数的记得传参。否则也会报以上错误 即使defer已经提前注册了,仍不执…
GitHub 快速搜索想要的开源项目
但结果却有很多,不知道该看哪个,如果一个一个去点开查看的话,会很浪费时间,而且还不一定能找到自己心仪的开源项目。 如果想搜索结果比较精准,肯定是键入相关条件,并控制范围,就想我们使用sql语句一样。 GitHub也是同样适用的,不过要先明白一些搜索的条件(字段)是什么。先看个图…
Golang学习——数组指针和指针数组区别
一步一步创建,容易理解。 可以看到,它俩的输出时一样的,因为将数组 arr的地址赋值给了arrPtr,而arrPtr是一个指针,存储的是内存地址。 访问数组的元素可以通过下标来访问,比如:arr[0] 即可访问数组arr的第一个元素。 但是我们学习了指针数组,所以尝试使用指针数…
Golang学习——interface接口学习(二)
在Golang中,空接口 interface{}没有定义任何函数,因此Golang 中所有类型都实现了空接口。当一个函数的形参是interface{},那么在函数中,需要对形参进行断言,从而得到它的真实类型。 在学习接口断言之前,先了解一下类型断言,其实接口断言也是在判断类型。…
Golang学习——基于Gin框架进行httptest单元测试
昨天晚上在学习慕课网的课程时,写了个简单的抽奖demo,打算简单测试在并发场景下临界资源是否被修改的问题。 然后前后折腾了好久才测试成功,记录下自己在进行httptest单元测试时学到的知识。 记得初始化锁,否则不起作用。 当然直接使用 c.ShouldBind() ,让gin…
Golang学习——如何判断Golang接口是否实现?
在看一个底层库的的时候,看到了一个比较奇怪的写法,于是乎有了本文。 需要解释的是:Pooler是一个接口类型。 多看了一些代码后发现很多地方有类似这样的写法。 至此Get到了。 和小伙伴讨论期间,跑出了这么一个问题:“可以使用go test的方式,去_test.go文件中定义一…