
Go
文章平均质量分 80
Go
敲代码der
遇见更好的自己
展开
-
Go实时读取日志并写入kafka
kafkakafka, 是一种高吞吐率, 多分区, 多副本, 基于发布订阅的分布式消息系统, 支持海量数据传递高吞吐量, 低延迟: 每秒可以处理几十万条消息, 延迟最低只有几毫秒, 每个主题可以分多个分区, 消费组可对不同分区进行操作可扩展性: 集群支持热扩展持久化, 可靠性: 消息被持久化到本地磁盘, 且支持数据备份防止丢失容错性: 允许集群中节点失败(若副本数量为n, 则允许n-1个节点失败)高并发: 支持数千个客户端同时读写安装与部署下载安装包 (前提已安装 JDK)cd /原创 2022-05-13 16:17:15 · 1252 阅读 · 1 评论 -
Golang 面试总结 MySQL 面试总结 Redis 面试总结
相比较于其他语言, Go 有什么优势或者特点Go 允许跨平台编译,编译出来的是二进制的可执行文件,直接部署在对应系统上即可运行Go 在语言层面上天生支持并发编程,通过 goroutine 和 channel 实现。channel 的理论依据是 CSP 并发模型, 即所谓的通过通信来共享内存;Go 在 runtime 运行时里实现了属于自己的调度机制:GMP,降低了内核态和用户态的切换成本。Go 是静态类型语言, 代码风格是强制性的统一,如果没有按照规定来,会编译不通过。Golang 里的 GMP原创 2022-04-18 17:16:43 · 2036 阅读 · 0 评论 -
Golang 并发编程
常见并发模型进程&线程 ( Apache )最初的Web服务器都是基于进程&线程模型, 就是每新到一个请求就会分配一个进程或者线程, 每个进程只服务一个用户, 互联网初期用户的访问不多, 网站可以正常工作, 但是进程很昂贵, 一台服务器无法创建很多的进程, 随着互联网的发展, 网站越来越复杂, 一个页面可能就上百个请求, 操作系统就无法承受了异步非阻塞 ( Nginx, Libevent, NodeJS )一台服务器可以服务大量的用户, 并且资源消耗还很低, 但是其为了追求性能,原创 2021-11-26 10:26:47 · 342 阅读 · 0 评论 -
Golang之IO操作
格式化 IO 操作package mainimport ( "fmt" "os")// 格式化 IO// fmt 包func main() { // 输出到终端 // 带有换行符, 支持多个参数 fmt.Println("hello world", "china", 2021) // 不带换行符, 单纯输出 fmt.Print("你好", 666, "\n") // 格式化输出, 不换行 fmt.Printf("hello %s %d\n", "chao", 202.原创 2021-11-16 16:08:37 · 994 阅读 · 0 评论 -
Go 设计模式
为什么要学设计模式方便交流设计模式作为一种术语, 经常会出现在开发者和程序员之间的交流沟通中, 如果自己不了解, 很多时候都听不懂也无法加入交流提高代码质量好的代码具有很好的可读性, 可复用性以及可扩展性, 设计模式的本质是解决程序的解耦, 代码的可复用性及扩展性, 它往往遵循一些原则面试需要面试过程中, 很多时候面试官都会问一些设计模式相关的问题, 这就需要我们去了解相关知识Go 是一个面向对象语言吗面向对象的语言一般会提供封装(类与对象), 继承, 多态三个特性, Go 本身没有类原创 2021-11-15 22:56:27 · 559 阅读 · 0 评论 -
gin 框架基础知识总结
gin 是什么目前Github上Star最多的Go Web 框架优势简单原则并发高分配内存少快速开始package main // 声明包/// 程序执行顺序 导入包 ( 导入包 (...) -> 变量/常量 ->init() ) --> 变量/常量初始化 --> init() --> main()// 导入包import "github.com/gin-gonic/gin"// 程序入口, 主函数func main() { // 快速开始原创 2021-11-06 19:16:22 · 1096 阅读 · 0 评论 -
Go语言语法总结
内建方法即不需要引用包, 可以直接使用1. make创建 slice, map, chan 三种引用类型返回引用类型, 即类型本身// 创建 slice, 切片相当于变长的数组, 切片底层是一个数组, 需设置长度和容量, 默认容量等于长度mySlice := make([]string, 3) // 开辟内存空间, 设置size, 指定长度// 赋值mySlice[0] = "dog"mySlice[1] = "cat"mySlice[2] = "pig"// 超出大小, 索引越界原创 2021-11-03 22:09:59 · 298 阅读 · 0 评论 -
go语言编码规范
1. 为什么需要代码规范代码规范不是强制的,也就是你不遵循代码规范写出来的代码运行也是完全没有问题的代码规范目的是方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性。本规范将从命名规范,注释规范,代码风格和 Go 语言提供的常用的工具这几个方面做一个说明。规范并不是唯一的,也就是说理论上每个公司都可以制定自己的规范,不过一般来说整体上规范差异不会很大。2. 代码规范2.1. 命名规范命名是代码规范中很重要的一部分,统一的命名规则有利于提高的代码的可读性,好的命名仅仅通过命名就可转载 2021-11-01 15:44:51 · 276 阅读 · 0 评论 -
CentOS搭建Go开发环境
获取Go安装包Go 安装包下载下载下载前, 记得配置国内镜像wget https://dl.google.com/go/go1.17.2.linux-amd64.tar.gz解压tar -xvf go1.17.2.linux-amd64.tar.gz[root@localhost ~]# lsconf data go go1.17.2.linux-amd64.tar.gz logs配置环境变量vim ~/.bashrc添加# 根路径, 安装路径expor.原创 2021-11-01 09:59:47 · 379 阅读 · 0 评论