going

Go语言闭包

说到Go语言的闭包,不得不说说全局变量和局部变量 全局变量的特点: 1.常驻内存 2. 污染全局 局部变量的特点: 1.不常驻内存 2.不污染全局 而Go语言的闭包可以做到 1.可以让变量常驻内存 2.可以让变量不污染全局 所以闭包主要是为了避免全局变量的滥用。 闭包 1.闭包是指有权访问另一个函数 ......
闭包 语言

Go 语言函数闭包

Go 语言支持匿名函数,可作为闭包。匿名函数是一个"内联"语句或表达式。匿名函数的优越性在于可以直接使用函数内的变量,不必申明。 以下实例中,我们创建了函数 getSequence() ,返回另外一个函数。该函数的目的是在闭包中递增 i 变量,代码如下: 实例 package mainimport  ......
闭包 函数 语言 Go

用 Go 剑指 Offer 39. 数组中出现次数超过一半的数字 (摩尔投票)

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 // 若不存在多数元素,本题就需要计数并判断 示例 1: 输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]输出: 2 限制: 1 <= 数组长度 <= 50000 ......
数组 次数 数字 Offer Go

Go语言闭包(Closure)——引用了外部变量的匿名函数

Go语言中闭包是引用了自由变量的函数,被引用的自由变量和函数一同存在,即使已经离开了自由变量的环境也不会被释放或者删除,在闭包中可以继续使用这个自由变量,因此,简单的说: 函数 + 引用环境 = 闭包 同一个函数与不同引用环境组合,可以形成不同的实例,如下图所示。 图:闭包与函数引用 一个函数类型就 ......
闭包 变量 函数 Closure 语言

mac配置vscode和go

一 安装和配置Go 去这里下载Go的安装包:https://studygolang.com/dl 建议下载pkg格式,懒人安装 安装完毕后用 go version 验证一下是否安装成功 然后使用 go env 查看一下go相关的环境变量 主要是查看GOROOT,GOPATH,GOBIN GOPATH ......
vscode mac

go 版本管理工具 gvm

下载地址 安装包下载地址(随便选一个能访问的下载,区别在于命令行中使用gvm,还是g) win 平台 1.gitee上的gvm:gvm 发行版 - Gitee.com 2.github上的g:Releases · voidint/g · GitHub 上面这个是同一个作者 mac 平台 https: ......
管理工具 版本 工具 gvm go

用 Go 剑指 Offer 42. 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 <= arr.leng ......
数组 Offer Go 42

Go常用库之GoRequests

我们在使用Go做爬虫的时候,首先接触的肯定是 Golang 标准库 net/http https://pkg.go.dev/net/http 有兴趣的可以去看看文档。 但是老实说 这个库个人感觉不是特别的好用 有可能是之前就是使用了Python 所以还是感觉如果有像Python库中的requests ......
GoRequests 常用

用 Go 剑指 Offer 40. 最小的k个数 (Top K 问题)

输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。 示例 1: 输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2: 输入:arr = [0,1,2,1], k = 1输出:[ ......
个数 问题 Offer Top Go

GO打包到linux服务器运行

方法二:本地编译 cmd控制台到main.go文件目录下 set GOARCH=amd64 set GOOS=linux go build main.go 会生成一个没有后缀的二进制文件 main 将该文件放入linux系统某个文件夹下 赋予权限 chmod 777 main 最后执行 ./main ......
服务器 linux

go学习 day242 文件操作

案例:读取文件内容 package main import ( "fmt" "os" ) func main() { // 打开文件 file, err := os.Open("G:\\test\\test.txt") if err != nil { fmt.Println("open file e ......
文件 day 242

Go 语言体系下的微服务框架选型: Dubbo-go

本文介绍了Go 微服务体系发展与选型,过去一年Dubbo-go 社区的飞速发展以及对未来的展望。 一、Go 微服务体系发展与选型 随着微服务技术的快速发展,其在各个领域都形成了一系列事实标准,在 Kubernetes 和容器技术加持下,云原生微服务已经成为了主流解决方案。而 Go 语言作为云原生领域 ......
框架 Dubbo-go 体系 语言 Dubbo

后端开发Go语言-Gin框架

随心记录,内容仅供参考! 2023/04/09 gin框架介绍及安装 2023/04/09 gin框架路由router ......
框架 语言 Gin

从java到JavaScript(2):对比Java/Go/Swift/Rust看Dart

Dart与Java的一些直观区别GoGo作为一种简单的语言,非常适合构建网络应用程序,这是正确的,如果你不需要其他功能,如泛型。个人觉得Dart和Java JavaScript有很多共通之处,对于typescript,个人觉得dart替代性更好 ......
JavaScript Swift java Java Dart

从java到JavaScript(1),看Dart:对比Java/Go/Swift/Rust

动态类型语言不满足人民群众日益增长的性能需求,同时暴露了对类型过于宽松而造成的可维护性,可调试性下降。Dart作为新时代的语言,支持JIT与AOT的新人,个人觉得还是好好琢磨下,笔记可能是未来web王者 ......
JavaScript Swift java Dart Java

Go编写一个小网站--复制粘贴--GiftsForYou

修修改改成为自己想要的 七米老师的 :https://github.com/Q1mi/bubble gifts_for_you 就是送的礼物的 记录 字段包括 时间、礼物、文字 先运行起来 1、创建数据库 配置连接数据的用户密码 CREATE DATABASE bubble DEFAULT CHAR ......
GiftsForYou 网站

新手小白需要了解的 Go 基础细节杂谈

今日记录一下 学习 golang 这门语言遇到的一些比较特殊的细节,供大家参考。 所以,在我们输出内容的时候,可以包含很多的非 ASCII 码字符。实际上,Go 是天生支持 UTF-8 的,任何字符都可以直接输出,甚至可以使用 UTF-8 中的任何字符作为标识符 _ 这个变量在针对很多需要丢弃固定的 ......
杂谈 细节 新手 基础 Go

Go 语言切片是如何扩容的?

原文链接: Go 语言切片是如何扩容的? 在 Go 语言中,有一个很常用的数据结构,那就是切片(Slice)。 切片是一个拥有相同类型元素的可变长度的序列,它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。 切片是一种引用类型,它有三个属性:指针,长度和容量。 底层源码定义如下: type s ......
语言 Go

【入门】Go语言面向对象

一、面向对象简介 1.1 什么是面向对象? 面向过程:强调的是过程,每一步都是自己亲自实现的。 面向对象:强调的是对象,找一个专门做这个事情的,让它来完成,具体怎么实现的,我们不关心。 举个做饭的例子,如果是你自己亲手下厨,一步一步自己做,那这就是面向过程,如果你点外卖,或者去饭馆,那这就是面向对象 ......
对象 语言

go导包失败

todo: go导包的机制。。。。。迷惑,不知道怎么就解决了。 目录结构如下: 在entry中main函数使用node的treenode结构体,一直失败, 导包语句: import ( "fmt" "learngo/object/tree" ) 解决 在项目下使用go mod init 项目名,生成 ......

go的反射reflect和文件操作

1.反射 Go语言的变量分两部分,类型信息和值信息 在Go的反射机制中,任何接口值都是由一个具体类型和具体类型的值两部分组成 reflect.TypeOf和reflect.ValueOf两个重要的函数来获取任意对象的type和value v:=reflect.TypeOf(x) v.Name() / ......
reflect 文件

go操作mysql

数据库连接: 使用database/sql包时必须注入(至少)一个数据库驱动。 go get github.com/go-sql-driver/mysql 导入包: import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) 通过Init ......
mysql

go操作redis

前言: 使用第三方开源的redis库: github.com/gomodule/redigo/redis 需要先安装redis包 go get github.com/gomodule/redigo/redis 正文: window下打开redis服务: 打开cmd命令行窗口 cd C:\Progra ......
redis

go操作memcache

先下载包: go get github.com/bradfitz/gomemcache/memcache window下打开memcache服务: cd C:\Program Files\memcached memcached.exe start 再打开一个cmd窗口 连接memcached tel ......
memcache

Go接口:运维开发场景中,go的接口到底怎么用?

golang的接口是什么 在 Golang 中,接口是一种类型,它是由一组方法签名组成的抽象集合。接口定义了对象应该具有的行为,而不关心对象的具体实现。实现接口的对象必须实现接口定义的所有方法,这样才能称为该接口的实现。 什么情况下要用接口 定义通用的方法:接口可以定义一组通用的方法,以便在不同类型 ......
接口 场景

巧如范金,精比琢玉,一分钟高效打造精美详实的Go语言技术简历(Golang1.18)

转自刘悦 研发少闲月,九月人倍忙。又到了一年一度的“金九银十”秋招季,又到了写简历的时节,如果你还在用传统的Word文档寻找模板,然后默默耕耘,显然就有些落后于时代了,本次我们尝试使用云平台flowcv高效打造一份巧如范金、精比琢玉的高品质Golang技术简历。 首先来到云平台:flowcv.com ......
Golang1 语言 简历 Golang 技术

sync.Pool:提高Go语言程序性能的关键一步

1. 简介 本文将介绍 Go 语言中的 sync.Pool并发原语,包括sync.Pool的基本使用方法、使用注意事项等的内容。能够更好得使用sync.Pool来减少对象的重复创建,最大限度实现对象的重复使用,减少程序GC的压力,以及提升程序的性能。 2. 问题引入 2.1 问题描述 这里我们实现一 ......
语言程序 性能 关键 语言 程序

用 Go 剑指 Offer 29. 顺时针打印矩阵

给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[1,2,3,6,9,8,7,4,5]示例 2: 输入:matrix = [[1,2,3,4],[5,6,7, ......
时针 矩阵 Offer Go 29

用 Go 剑指 Offer 17. 打印从1到最大的n位数

输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印n 为正整数通过次数251,223提交次数323,027 ......
位数 Offer Go 17

用 Go 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组的前半部分,所有偶数在数组的后半部分。 示例: 输入:nums = [1,2,3,4]输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。 提示: 0 <= nums.length <= 500000 <= ......
奇数 偶数 数组 顺序 Offer