go发送smtp邮件

最近看了下go发送smtp邮件,于是总结一下简单示例先上一个最简单的代码 (网上搂的代码改了改)package main import ( "fmt" "net/smtp" ) const ( // 邮件服务器地址 SMTP_MAIL_HOST = "smtp.qq.com" // 端口 SMTP_MAIL_PORT = "587" // 发送邮件用户账号 SMTP_MAIL_USER = "1348581672@qq.com" // 授权密码 SMTP_MAIL_PWD = "xxxx" //...阅读全文

Segmentfault 2020-10-03 08:32:32 孙鹏鹏

Mac beego安装

切记一定要按顺序来 下载go https://golang.org/dl/ 下载页.png 安装完成后查看版本号 $ go version go1.15.2 darwin/amd64 正确显示版本号安装成功 安装目录 /usr/local/go 安装beego 不FQ时我安装一直失败,FQ后顺利安装 $ go get -u github.com/astaxie/beego $ go get -u github.com/beego/bee 安装目录/Users/用户名/go 环境变量配置 $ vi...阅读全文

简书 2020-09-27 20:32:41 pengkk

Golang设计模式之原型模式

原型模式(Prototype Pattern) GitHub代码链接 原型模式用于创建重复的对象。当一个类在创建时开销比较大时(比如大量数据准备,数据库连接),我们可以缓存该对象,当下一次调用时,返回该对象的克隆。 原型模式是什么 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。通过实现克隆clone()操作,快速的生成和原型对象一样的实例。 解决了什么问题 资源优化,类初始化要消耗非常多的资源,包括硬件,数据等资源。 性能和安全要求的场景 通过new产生一个对象需要非常繁琐的数...阅读全文

简书 2020-09-27 20:32:40 ShawnLee_123

Go语言测试——TDD

服务计算 简单介绍: 百度百科:TDD TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。 TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析,设...阅读全文

简书 2020-09-27 18:32:49 蜜桃桃的冰淇淋奶昔

golang gorm(二)---gorm查询详解

这次对gorm的查询功能做一个详细的说明,我在数据库中添加了几条测试用的数据。 测试数据.png 查询所有 type User struct { Id int `gorm:"primary_key" json:"id"` Name string `json:"name"` Age int `json:"age"` Gender int `json:"gender"` //1:男、2:女 } //查询所有 func (User) FindAll() (user []User){ conn := d...阅读全文

简书 2020-09-27 17:36:32 lannisiter

Golang设计模式-单例模式

单例模式 单例模式规定,一个类只能实例化一个实例。因此单例模的特点是: 只有一个实例 必须自行创建 必须自行向系统提供这个实例 应用场景 单例模式的主要使用场景有以下两个方面: 资源共享情况下避免资源操作导致的性能损耗,比如日志管理器,web网站计数器,应用配置管理对象等 方便对资源的控制,比如线程池和数据库连接池等 golang单例模式的实现方式 饿汉模式 直接创建好对象,这样不需要判断为空,同时也是线程安全。唯一的缺点是在导入包的同时会创建该对象,并持续占有在内存中。 var instanc...阅读全文

简书 2020-09-27 17:36:30 perfect6566

Golang如何实现简单的API网关

在最近的一个项目中,采用了微服务架构-go-kit进行后端的开发。在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,因此我们需要设计一个API 网关(API Gataway),其实网上已经有较多现成的实现框架,但是本项目的需求是比较简单的,因此将使用Golang自行实现。实现API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个...阅读全文

简书 2020-09-27 17:36:30 MO_ON_e503

开篇辟地

这是在思否写得第一篇东西,之前在 coding.net,后来他们关闭了博客服务 - - ,思否技术氛围挺好的,遂迁移此处介绍下自己,以及一些分享技术的想法起初因兴趣自学的编程,入得Java坑,学计算机的朋友说 Java 相对简单,不是科班生所以不敢学 C、C++,后来找工作转到了 PHP,发现 PHP 挺香的大部分时间都在用 PHP,少量时间写过 Java,从个人喜好角度来看,更喜欢 PHP、Go 等,Java 太臃肿,当然技术选型还是优先根据项目的特点从业7年多,几乎没有写烦的感觉,上班也不觉...阅读全文

Segmentfault 2020-10-02 20:32:32 我不是药神

golang-面向对象编程--结构体

面向对象编程--结构体 struct介绍 Go中⾯向对象是通过struct来实现的, struct是⽤户⾃定义的类型 声明一个结构体,User结构体中,有属性:Username,Sex,Age,AvatarUrl,如果属性名称开头为小写字母,那么这个属性就是私有的,只能在当前包调用,不能挎包调用,和package中的私有函数,私有变量一致 type User struct { Username string Sex string Age int AvatarUrl string } 注意:typ...阅读全文

简书 2020-09-27 14:32:46 前进的中浪

九二一

上午的二级终于结束,和预想的一样,考的真的对自己很不满意。整个机房就我一个考的python,剩余的全是office。我不知道他们的怎么样,但二级python真的没有那么简单,这个证也没有说的那么好考,虽然都说考了没啥用。但我就是想要将它拿下,哪怕就只是用来检测自己的学习成果。这段时间以来,很忙很忙,小组的面向外院招新,专业课的全面展开,各种考试的接踵而至,python组的解散,golang组的重建。我们想要像去年那样焕发生机,我们想要在三月中脱颖而出,我们仍然要做领头羊。就必须拿出我们自己的行动...阅读全文

简书 2020-09-27 14:32:46 胡超_强化班

探秘Golang并发基石之channel

大多数的编程语言的并发编程模型是基于线程和内存同步,而Golang 的并发编程的模型则用 goroutine 和 channel 来替代,goroutine用于执行并发任务,channel用于并发控制以及goroutine的通信。这次跟随一个demo探索一下channel底层的奥秘。channel数据结构:type hchan struct { // chan里元素数量 qcount uint // chan维护的数组的长度 dataqsiz uint // 维护的数组的指针 buf unsaf...阅读全文

Segmentfault 2020-10-02 09:32:33 郭朝

Kotlin开发AI语音助手App 先人一步抓紧移动端AI时代发展机会

下载地址:百度网盘Kotlin+组件化 打造自己的AI语音助手从“Hi,Siri!”到“小度小度”“小爱同学”,智能硬件早已融入到现今年轻人的生活中。在移动开发行业中,人机之间的交互方式也早已不再局限于字符的输入与触控。通过语音操作App已经逐渐成为App的常规操作。对于Android开发来说,无论是对于工作项目中的使用,还是未来职业发展中拥有更多的职业选择,学会AI语音开发技术,都是一个非常好的选择。在本课程中,基于百度AI平台,开发一个“对话小精灵” App。适合人群Android中级开发者...阅读全文

Go语言中文网 2020-09-27 00:23:10 huashan

“秋天里的第一份Java面试合集”满满干货,呕心沥血

我是二本院校非科班的,从简历被拒,到拿下头条面试,我花了一年的时间。一、印象中的头条二、面试背景三、准备面试四、头条一面电话面(Java+项目)五、头条二面视频面(大数据+项目)六、头条三面视频面(算法+场景题)七、如何通过头条笔试?八、如何准备头条面试?九、一个关于如何进大厂的小建议一、印象中的头条1.老板张一鸣跟我是福建老乡,龙岩市在我朋友说来就是山沟沟,能走出美团王兴和头条张一鸣让我卯足了去龙岩吃特产老鼠干的欲望。2.给的钱多,笔试也贼难。参加过头条笔试的同学都知道,头条笔试可以笔试三次,...阅读全文

简书 2020-09-26 23:32:44 Java分享者

如何让rabbitmq消费者优雅的关闭(golang版本)

阅读本文需要掌握的知识: 1、rabbit mq 2、golang 如果项目使用消息队列进行异步处理,大家应该都会碰上一个问题:如果某个消息正在处理中,这时候中断程序(或者更新),那么将会出现数据异常。这种情况可以通过两种方式解决该问题: 1、使用自带的ack机制,将在消息处理完之后,发送ack消息给mq,这样如果处理到一半,程序中断,mq会将该消息发送给其他消费者进行处理。但是该解决方案会产生另一个问题,假如消息处理到一半,一部分数据已经保存到数据库了,那么重新处理可能导致数据异常。这时候需要...阅读全文

简书 2020-09-26 23:32:41 bin_x

Go 每日一库之 quicktemplate

简介最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我花了一点时间编写了一个生成代码框架的工具,最大程度地降低重复劳动。代码本身并不复杂,且与项目代码关联性较大,这里就不展开介绍了。在这个过程中,我发现 Go 标准的模板库text/template和html/template使用起来比较束手束脚,很不方便。我从 GitHub 了解到quicktemplate这个第三方模板库,功能强大,语法简单,使用方便。今天我们就来介绍一下quicktemp...阅读全文

Segmentfault 2020-10-02 10:32:32 darjun

GO语言实现 一 基本排序

基本排序包括简单选择排序和插入排序,本文将就这两种排序进行 golang语言实现,并引出希尔排序 一.简单选择排序 简单排序将数组分为两个部分,从左到当前索引的前一个元素为已排序部分,从当前索引到数组的末尾为未排序部分 简单选择排序算法思路如下: 从未排序部分中选取最小的一个元素 A 将 A元素与当前索引所在元素交换 重复 1,2步骤直到未排序部分为空 golang代码如下: func selection_sort(nums []node) []node { for i := 0; i < le...阅读全文

简书 2020-09-26 21:32:43 YXCoder