斜杠golang

golang 和java对比

Java的优点: 跨平台性:Java程序可以在不同的操作系统上运行,只需安装相应的Java虚拟机即可。面向对象:Java是一种面向对象的语言,具有封装、继承和多态等特性,使得代码更加易于维护和扩展。大量的第三方库和框架:Java拥有丰富的第三方库和框架,可以加速开发速度。高性能:Java虚拟机的优化 ......
golang java

golang sync.Map 在函数传参时默认是值传递

## 概要 今天改了一段代码,调用函数时把一个 sync.Map 类型的变量作为传参,在函数内部修改 sync.Map 变量的值,发现函数处理完成后,外部的变量没有修改,后来发现 sync.Map 是一个普通的结构体,跟所有的结构体一样,golang 在把结构体类型作为函数传参时,都是值传递,即创建 ......
函数 golang sync Map

golang编译go build -ldflags "-s -w"的 解释

go build -ldflags "-s -w" 是一个 Go 语言的构建命令,其中使用了 -ldflags 参数来传递一些额外的链接器标志。 这个命令中,-ldflags "-s -w" 传递了两个标志: -s:该标志会禁止生成可执行文件中的符号表信息,这样在执行文件时就不会暴露源代码中的函数名 ......
quot ldflags golang build

golang base64解码

解码过程 1.使用标准库的base64.StdEncoding.DecodeString 最开始是印象标准库有一个base64.StdEncoding.DecodeString方法可以解码,就直接使用了这个方法 package main import( "encoding/base64" "fmt" ......
golang base 64

jetbrains GoLang设置编写proto文件的实时模板

### 具体步骤 ### 1. 首先,先创建一个模板组,我这里创建为"proto"。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/0f650e87ac1d4ffe86b1283975d5a254.png) ### 2.下面这张图是我的模板组中的内容 ![在这里插 ......
实时 jetbrains 模板 文件 GoLang

golang 新环境下运行项目

## 下载源代码 ``` git clone .. ``` ## 安装依赖 ``` go mod tidy ``` ### 下载慢报错 切换 proxy ``` # 启用 Go Modules 功能 go env -w GO111MODULE=on # 配置 GOPROXY 环境变量,以下三选一 # ......
环境 项目 golang

golang之函数工具库lancet

lancet(柳叶刀)是一个全面、高效、可复用的go语言工具函数库。 lancet受到了java apache common包和lodash.js的启发。 简体中文 | English 特性 👏 全面、高效、可复用。 💪 600+常用 go 工具函数,支持 string、slice、dateti ......
函数 工具 golang lancet

[Go] VsCode 的 Golang 环境设置与代码跳转支持

一般在终端中使用时的配置: export GO111MODULE=on export GOPROXY=https://goproxy.io,direct 在 vscode 中使用的配置: 1. 安装 Go 扩展。 2. Preferences -> Settings -> Extensions -> ......
代码 环境 VsCode Golang Go

golang 爬坑记

太坑了,必须要写个笔记发泄一下! 结构体的坑 首先,我们来看看通常教程会怎么写,此处引用菜鸟教程 1 package main 2 3 import "fmt" 4 5 type Books struct { 6 title string 7 author string 8 subject stri ......
golang

golang 协程、延迟函数调用、以及恐慌和恢复

此篇文章将介绍协程和延迟函数调用。协程和延迟函数调用是Go中比较独特的两个特性。 恐慌和恢复也将在此篇文章中得到简单介绍。本文并非全面地对这些特性进行介绍,后面的其它文章会陆续补全本文的未介绍的内容。 协程(goroutine) 现代CPU一般含有多个核,并且一个核可能支持多线程。换句话说,现代CP ......
函数 golang

golang 配置断点调试

golang 1.8 以下版本安装dlv go install github.com/go-delve/delve/cmd/dlv@v1.7.3 配置如图 配置 gobuild 使用自己的启动语句调试 ......
断点 golang

golang官方包管理vendor模式无法引用非go文件

## 主页 - 微信公众号:密码应用技术实战 - 博客园首页:https://www.cnblogs.com/informatics/ ## 背景&问题 golang作为高级计算机语言之一,在云原生以及web网站建设中发挥了重要作用,但在实际应用中我们可能会碰到以下场景,在该场景下: - 部署机无法 ......
模式 文件 官方 golang vendor

golang中 go get 加 -u 和不加 -u 参数的区别

-u 会更新本地已有的代码包 加上它可以利用网络来更新已有的代码包及其依赖包。如果已经下载过一个代码包,但是这个代码包又有更新了,那么这时候可以直接用 -u 标记来更新本地的对应的代码包。如果不加这个 -u 标记,执行 go get 一个已有的代码包,会发现命令什么都不执行。只有加了 -u 标记,命 ......
参数 golang get go

golang之增加版本信息功能

在实际开发中,当开发完一个 apiserver 特性后,会编译 apiserver 二进制文件并发布到生产环境,很多时候为了定位问题和出于安全目的(不能发错版本),我们需要知道当前 apiserver 的版本,以及一些编译时候的信息,如编译时 Go 的版本、Git 目录是否 clean,以及基于哪个 ......
版本 功能 golang 信息

golang init函数、defer函数、匿名函数、错误处理

1. init 每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会在main函数前被调用,当有全局变量跟main函数 init 函数 同时出现的时候 执行的顺序是 全局函数==》init函数==》main函数 package main imp ......
函数 错误 golang defer init

golang常用函数

1.文件读写 package main import ( "fmt" "os" ) func main(){ yaml_str,err:=os.ReadFile("poc/1.yml") if err!=nil{ panic(err) } poc_old:=string(yaml_str) os.W ......
函数 常用 golang

Golang 需要注意的知识点

云笔记链接地址 go的协程轻量级体现在哪 (1) goroutine 是轻量级的用户态线程,上下文切换代价小 go 将 goroutine 的调度维持在用户态 常规线程切换会导致用户态程序代码和内核态操作系统调度程序的切换 只涉及PC(程序计数器,标记当前执行的代码的位置) SP(当前执行的函数堆栈 ......
知识点 知识 Golang

golang中goto跳转语句和跳转标签声明

和很多其它语言一样,Go也支持goto跳转语句。 在一个goto跳转语句中,goto关键字后必须跟随一个表明跳转到何处的跳转标签。 我们使用LabelName:这样的形式来声明一个名为LabelName的跳转标签,其中LabelName必须为一个标识符。 一个不为空标识符的跳转标签声明后必须被使用至 ......
语句 标签 golang goto

Golang设计模式

Golang 设计模式 一、设计模式概述 1.1 概述 如果把修习软件开发当做武功修炼的话,那么可以分为招式和内功。 招式: Java、C#、C++、Golang、Rust等编程语言; Eclipse、Visual Studio、Goland、Vim等开发工具; Struts、Hibernate、J ......
设计模式 模式 Golang

GoLang:字符串

学习自:Go教程141页 1、定义 str1 := "abc" 2、字符串处理函数 所属包:strings 函数 返回值类型 说明 len(str) int 长度 len还能用于统计列表大小 子串出现位置 Index(主串,子串) int 子串出现位置 IndexByte(主串,单字符) 字符出现位 ......
字符串 字符 GoLang

GoLang:异常处理

学习自:Go教程137页 1、异常 程序运行时,发生了不被期望的事件,它阻止程序正常预期的运行 Go中两种处理异常的方式: 程序异常时,将异常信息反馈给使用者 程序异常时,终止运行立刻退出 2、打印异常信息 1)fmt包中的Errorf函数创建error类型,打印 var err error = f ......
GoLang

GoLange:面向对象

学习自:Go教程130页 1、类定义 方式:结构体+方法 结构体:定义有哪些数据 方法:定义结构体的方法 例子:定义一个Person类 //结构体定义人的属性 type Person struct { name string age int } //方法定义人的行为 func (p Person)S ......
对象 GoLange

Golang - Slice 学习笔记

# Slice ## 1、概述: Slice又称动态数组,依托数组实现,可以方便的进行扩容、传递等,实际使用中比数组更灵活。 ## 2、实现原理 ==**Slice依托数组实现,底层数组对用户屏蔽,在底层数组容量不足时可以实现自动重分配并生成新的Slice。接下来按照实际使用场景分别介绍其实现机制。 ......
笔记 Golang Slice

GoLang:指针

学习自:GoLang教程110页 1、普通指针 说明 指针变量用于存放其他变量的地址 无论指向什么类型的变量,指针的实际内存占用都是一样的:32位4B,64位8B: var p1 *int; var p2 *float64; var p3*bool; fmt.Println(unsafe.Sizeo ......
指针 GoLang

GoLang:map

学习自:GoLang学习手册100页 1、说明 map,即字典,存储一系列的K-V对,通过Key获取响应的元素。 2、定义 1)定义 dic := map[K类型]V类型{K1:V1,K2:V2,K3:V3,...} var dic map[K类型]V类型 = map[K类型]V类型{K1:V1,K ......
GoLang map

CentOS 7.9 一键安装 Node.js Golang Docker 环境

本脚本仅支持CentOS7.9_x64, 安装 golang 1.21.0 node.js 16.20.2 docker latest ``` bash #!/bin/bash yum install -y wget make NODE_VERSION=node-v16.20.2-linux-x64 ......
环境 CentOS Golang Docker Node

golang.org/x/子仓库

在 Go 语言的生态中,`golang.org/x/` 是一个特殊的前缀,它表示一系列 Go 子仓库,这些子仓库包含了 Go 核心开发团队维护的实验性或辅助工具、库和包。这些仓库可能不会被包含在 Go 的标准库中,但它们仍然由 Go 的核心维护者维护,并且通常有很高的质量标准。 这些 `golang ......
仓库 golang org

golang 读取运行程序的相关目录

获取运行程序的所在目录、工作目录 import ( "fmt" "os" "path/filepath" ) func main() { fmt.Println("start m1") path, _ := os.Executable() fmt.Println("path", filepath.D ......
目录 程序 golang

golang Gin框架 自定义日志形式

```go func main() { router := gin.New() // LoggerWithFormatter middleware will write the logs to gin.DefaultWriter // By default gin.DefaultWriter = o ......
框架 形式 golang 日志 Gin

golang字符串切片去重

函数的功能是从输入的字符串切片中去除重复的元素,并返回去重后的结果。具体的实现逻辑如下: 创建一个空的结果切片result,用于存储去重后的字符串。 创建一个临时的maptempMap,用于存放不重复的字符串。map的键是字符串,值是字节类型。 遍历输入的字符串切片slc中的每个元素e: 首先,获取 ......
字符串 字符 golang