Go语言面试题(一) 一、基础知识 为什么选择 Go语言? Go语言 浅谈一下Go和Java有什么区别? Go语言Go语言Java 浅谈一下 Go 和 C++ 有什么区别? Go语言Go语言C++ go build 和 go run 有什么区别? go buildgo run Go语言中变量、init函数、main函数的执行顺序? 首先初始化 导入包 的 变量 和 常量 然后执行 导入包 的
最近几年,容器技术得到了广泛的应用和发展,被广泛认为是一种解决开发和部署问题的理想方式。Golang,一种高性能的编程语言,因其具有并发和高效率的优势,也受到更多开发者的青睐。如何将这两者结合起来,为开发人员提供更好的工作体验和部署方案?本文将介绍如何使用开发容器实现golang的方法。什么是开发容器?首先,我们需要了解什么是开发容器。一个开发容器允许开发者创建一个独立的开发环境
github仓库存储地址:https://github.com/hlccd/goSTL 概述 本次采用完全二叉树Complete Binary Tree的形式实现堆。 堆(heap)是一类特殊的数据结构的统称,堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: 堆中某个结点的值总是不大于或不小于其父结点的值;堆总是一棵完全二叉树。 堆的主要特点为
前言 此篇文章,我将介绍Golong里面的容器,包括slice, map, heap,list,ring不仅介绍他的原理,也会捎带讲其原理和工作过程中遇到的坑! Slice 切片,动态数组。 切片是Go中重要的数据类型,每个切片对象内部都维护着:数组指针、切片长度、切片容量 三个数据。 一定要清楚,是数组指针! type slice struct { array unsafe
go-zero微服务部署 docker安装docker-compose安装请自行百度。 1.服务 1.user-api :对外暴露接口服务 2.user-rpc :给user-api提供用户服务 user-api项目结构插图: 2.服务依赖 1.kafka 2.mysql 3.redis 4.etcd 服务发现 5.zookeeper 6.nginx 网关 3.部署流程 1
在 `golang.org/x/net/websocket` 包中,并没有内置的路由功能。如果您想要使用该包处理不同的 WebSocket 路由,您可以结合使用 `net/http` 包的路由功能来实现。以下是一个示例代码: ```go package main import ( "log" "net/http" "golang.org/x/net/websocket" ) func
GoLang笔记 Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态类型、编译型语言。Go 语言语法与 C语言相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。 二、Go语言容器 1、数组 数组是一个由固定长度的特定类型元素组成的序列
Go Movies golang + redis 实现的影站(低级爬虫)。无管理后台,效果站: https://go-movies.hzz.cool/ 支持手机端访问播放 静态文件与go文件统一编译,运行只依赖编译后可执行的二进制文件与redis 内置自动爬虫的定时任务,基本满足日常看片需求。 Tip 支持网页爬虫与API请求的形式,可通过 config/app.go 配置定义选择使用的版本
## 一、Golang中除了加Mutex锁以外还有哪些方式安全读写共享变量? Golang中Goroutine 可以通过 Channel 进行安全读写共享变量。 ## 二、#### 无缓冲 Chan 的发送和接收是否同步? ~~~go ch := make(chan int) 无缓冲的channel由于没有缓冲发送和接收需要同步. ch := make(chan int, 2)
索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。常见的索引模型有哈希表、有序数组、B+树。哈希表哈希表是一种以键 - 值(key-value)存储数据的结构,我们只要输入待查找的值即 key,就可以找到其对应的值即 Value。哈希的思路很简单,把值放在数组里,用一个哈希函数把 key 换算成一个确定的位置,然后把 value 放在数组的这个位置。 不可避免地,多个 key