Golang解LeetCode 617. 合并二叉树

617. 合并二叉树 题目描述 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。 示例 1: 输入: Tree 1 Tree 2 1 2 / \ / \ 3 2 1 3 / \ \ 5 4 7 输出: 合并后的树: 3 / 4 5 / \ \ 5 4 7 注意: 合并必须从两个树的根节点开始。 来源:力...阅读全文

2019-12-11 06:32:43 肥肥的大肥鹅
阅读:835 评论:0

Go 学习、Go 进阶、Go 实用工具类

## learning_tools [源码地址](https://github.com/hwholiday/learning_tools) ### [all_packaged_library](https://github.com/hwholiday/learning_tools/tree/master/all_packaged_library) 里面封装了一些常用的库,有详细的介绍,持续更新 1: base 里面封装mysql,redis,mgo,minio文件储存库S3协议...阅读全文

2019-12-11 11:32:00 hwholiday
阅读:1849 评论:0

3.Go 语言基础之流程控制

1.if else(分支结构) 1.1if 判断基本语法 if条件判断的格式如下: if 表达式1 { 分支1 } else if 表达式2 { 分支2 } else{ 分支3 } Go语言规定与if匹配的左括号{必须与if和表达式放在同一行,{放在其他位置会触发编译错误。 同理,与else匹配的{也必须与else写在同一行,else也必须与上一个if或else if右边的大括号在同一行。 package main import "fmt" func ifDemo1() { score := 6...阅读全文

2019-12-10 20:24:23 DevOperater
阅读:1049 评论:0

详解GO语言,一文告诉你PHP程序员为什么要学习GO语言?

很多人将GO语言称为21世纪的C语言,因为GO不仅拥有C的简洁和性能,而且还很好的提供了21世纪互联网环境下服务端开发的各种实用特性,让开发者在语言级别就可以方便的得到自己想要的东西。 发展历史2007年9月,Rob Pike在Google分布式编译平台上进行C++编译,在漫长的等待过程中,他和Robert Griesemer探讨了程序设计语言的一些关键性问题,他们认为,简化编程语言相比于在臃肿的语言上不断增加新特性,会是更大的进步。随后他们在编译结束之前说服了身边的Ken Thompson,觉...阅读全文

2019-12-11 15:33:07 六星教育技术共享
阅读:556 评论:0

在 5 分钟之内部署一个 Go 应用

在有些程序人写完了他们的 Go 应用之后,这总会成为一个大问题——“我刚写的这个 Go 应用,当它崩溃的时候我要怎么重启?”,因为你没法用 `go run main.go` 或者 `./main` 这样的命令让它持续运行,并且当程序崩溃的时候能够重启。 一个普通使用的好办法是使用 Docker。但是,设置 Docker 以及为容器配置你的应用需要花费时间,当你的程序需要和 MySQL、Redis 这样的服务器/进程交互时更是如此。对于一个大型或长期项目来说,毋庸置疑这是一个正确的选择。但是...阅读全文

2019-12-11 17:23:10 polaris
阅读:2041 评论:0

蚂蚁金服开源 MOSN 核心概念解析

前言 MOSN 是一款使用 Go 语言开发的 Service Mesh 数据平面代理,2018 年 7 月由蚂蚁金服开源,开源地址 https://github.com/sofastack/sofa-mosn,MOSN 旨在为服务提供分布式、模块化、可观察和智能化的代理能力。MOSN 是 Modular Observable Smart Network 的简称。MOSN 可以与任何支持 xDS API 的 Service Mesh 集成,亦可以作为独立的四、七层负载均衡使用。未来 MOSN 将支...阅读全文

2019-12-12 17:32:47 ServiceMesher
阅读:4993 评论:0

通过项目学习Go语言之项目介绍

目前,go语言已然成为各大厂的标配开发语言,各大厂都在使用go语言构建一些重要的支撑系统。当今最流行的容器Docker及容器编排和管理工具k8s都是使用go来构建的,并且是开源的,这给go开发者提供了很好的学习资料。但是,这些项目对初学者来说过于复杂,很难通读其源码。国内大厂也开源了一些go开发的项目,比如baidu的应用负载均衡产品bfe、bilibili开源的go微服务框架kratos、didi最近开源的gatekeeper都是开发者值得学习的好项目。 接下来,通过didi开源的gateke...阅读全文

2019-12-13 08:32:44 whatiscoding
阅读:1676 评论:0

《Go 语言程序设计》读书笔记 (一)基础类型和复合类型

前言 最近在读《Go 语言程序设计》这本书想通过看书巩固一下自己的基础知识,把已经积累的点通过看书学习再编织成一个网,这样看别人写的优秀代码时才能更好理解。当初工作中需要使用 Go开发项目时看了网上不少教程,比如 uknown 翻译的《the way to go》看完基本上每次使用遇到不会的时候还会再去翻阅,这次把书中的重点还有一些平时容易忽视的Go语言中各种内部结构(类型、函数、方法)的一些行为整理成读书笔记。 因为《Go 语言程序设计》不是针对初学者的,所以我只摘选最重要的部分并适当补充和调...阅读全文

阅读:886 评论:0

我的Go之路

全职写Go已经很多年了,我对于Go的认识,大概经历过三次升级,但每一次突破,都不是Go语言本身带来的,而是从其它语言领悟的,可见“功夫在诗外”。我想和你谈谈,这三次升级的关键的概念,它们是:接口,并发,反射。没有一个概念是轻易理解的,就当你当初写程序无法一下子理解变量一样,它们更甚。 第一次是当年移动开发热潮,我跟风买了Macbook Pro,装Xcode,写Objective-C。OC的作者Brad Cox原来写Smalltalk,因此在C上面加了大量的宏,让C支持面向对象。OC支持接口的方式...阅读全文

2019年12月16日 qgymje
阅读:1018 评论:0

架构师知识体系整理

抽空系统整理一下知识体系.仅仅作为一个纲要.1. 计算机基础1.1 CPUCPU指令流水线CPU多级缓存CPU缓存失效CPU 缓存一致性协议CPU MUMA架构多核CPU的演进CPU分支预测1.2 内存内存访问主内存工作内存虚拟内存页表/TLBMMAP内核page cache内核block cache进程地址空间内核地址空间1.3 磁盘机械磁盘/SSD/NVME ...顺序读写/随机读写内核 cache/预读cache脏页flush磁盘cachefsync/datasync/sync原子读写MM...阅读全文

2019-12-17 18:32:45 贺大伟
阅读:1565 评论:0

再学JavaScript ES(6-10)全版本语法大全

第1章 课程介绍与环境搭建JS作为前端的立身之本,让大家了解学习这门课的必要性。考虑到很多同学刚刚接触前端或者对工程化方法不太了解,为了快速进入到学习状态,我们提供了极其简单的方式帮大家准备好学习环境。第2章 ES6基础知识ES6语法相对于ES5有了非常大的改变,让原生 JavaScript 能力再上一个台阶,这个章节会分门别类进行讲述,单纯讲语法既乏味也不利于记忆更不知道如何运用,我们以应用场景开场分别给出ES5和ES6两种不同的解决方案,循序渐进剖析语法...第3章 ES7基础知识ES7在E...阅读全文

阅读:2425 评论:0

Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)

作者 | 杨成立(忘篱) 阿里巴巴高级技术专家 关注“阿里巴巴云原生”公众号,回复 Go 即可查看清晰知识大图! 导读:从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文章,本文为第 1 篇。 Go 开发指南大图 Overview 该指南主要讨论了服务器领域常见的并发问题,也涉及到了工程化相关的问题,还整理了 C 背景程序员对于 Go 的 ...阅读全文

2019-12-22 11:32:33 阿里巴巴云原生
阅读:968 评论:0

redis 知识总结

redis 线程模型 Redis 基于 Reactor 模式开发了自己的网络事件处理器: 这个处理器被称为文件事件处理器(file event handler): 文件事件处理器使用 [I/O 多路复用(multiplexing)] (http://en.wikipedia.org/wiki/Multiplexing)程序来同时监听多个套接字, 并根据套接字目前执行的任务来为套接字关联不同的事件处理器。 当被监听的套接字准备好执行连接应答(accept)、读取(read)、写入(write)、关...阅读全文

2019-12-20 00:32:51 日月神父
阅读:880 评论:1

Golang实现并发聊天室

# 前言以及项目简介 Golang是一门极为出色的语言,近些年也越发火热。每一种语言火起来都有它的道理,Golang就是以其独树一帜的并发处理和高性能博得了众多程序员的青睐,不少的C/C++、Java、PHP开发者都已经或逐渐转型扑向Go语言的怀抱。 从当初刚刚接触Go到现在大概有25天了,一直在看某马的培训视频,也确实学到了不少东西。这个并发聊天室就是他们GO语言与区块链就业班的**阶段性学习项目**。该项目处于整个课程中的第二阶段——并发编程与网络编程,这个并发聊天室就作为此阶段的收...阅读全文

2019-12-20 20:11:53 Pyvago
阅读:5769 评论:3

《Go 语言程序设计》读书笔记 (三) 方法

方法 方法声明 在函数声明时,在其名字之前放上一个变量,即是一个方法。这个附加的参数会将该函数附加到这种类型上,即相当于为这种类型定义了一个独占的方法。 package geometry import "math" type Point struct{ X, Y float64 } // traditional function func Distance(p, q Point) float64 { return math.Hypot(q.X-p.X, q.Y-p.Y) } // same th...阅读全文

2019-12-27 21:32:32 KevinYan
阅读:556 评论:0

源码学啥子嘛?接口、组合

大家好,我叫谢伟,是一名程序员。 今天的主题:面向接口、组合编程。 作为程序员,都希望编写通用、可扩展的代码,通常这些知识靠的都是依靠设计模式进行指导开发。比如说面向对象的特性:封装、抽象、多态、继承。 要编写更通用的代码,一方面需要靠足够时间砸出来,一方面也需要自己实践摸索。编写代码过程中要时刻在脑中形成清单: 编写可读的代码 编写符合设计模式的代码 在 Go 中如何编写更通用的代码? 一是接口,二是组合。 Go 中没有继承的概念,摒除了”继承“可能导致层级过多的弊端,转而推荐使用组合的形式,...阅读全文

2019年12月26日 谢伟
阅读:841 评论:0

go资源整理

``` 1、入门:《Go 语言圣经》中文版 https://books.studygolang.com/gopl-zh/ ,该书建议一定看看 2、进阶:《Go 语言实战》 ``` ``` 1.Learning Go 《学习Go语言》 http://www.miek.nl/projects/learninggo/ 中文版http://mikespook.com/learning-go/ 2.Go by Example Go is an open sour...阅读全文

2020-01-19 10:26:05 andy_wb_22
阅读:1910 评论:0

Go Modules 终极入门

Go modules 是 Go 语言中正式官宣的项目依赖解决方案,Go modules(前身为vgo)于 Go1.11 正式发布,在 Go1.14 已经准备好,并且可以用在生产上(ready for production)了,Go官方也鼓励所有用户从其他依赖项管理工具迁移到 Go modules。 而 Go1.14,在近期也终于正式发布,Go 官方亲自 “喊” 你来用: 因此在今天这篇文章中,我将给大家带来 Go modules 的 “终极入门”,欢迎大家一起共同探讨。 Go modules 是...阅读全文

阅读:3227 评论:1

想成为全栈工程师,要做到哪几点?

作为开发者,我们不过度区分服务端 server 客户端 client,我们是 web developer,从事 web 开发,多去理解技术和实践落地。 成为全栈工程师的道路 成为全栈工程师说不上难也说不上容易,其中技术积累占了很大一部分: 紧跟前沿 掌握足够多的输入。 关注海外社区新消息发布,业界的新产品新技术,学会高质量的获取信息,坚持做和习惯做。 注重学习 & 不断实践 有属于自己的思考和严谨的产出。 掌握高效学习方法,比如我们最近在做 k8s 容器集群相关的事情,需要理解底层设计和做集群调...阅读全文

2021-03-12 16:35:21 阿里云技术
阅读:560 评论:0