首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏无道编程

    Golang】链表翻转,Golang实现

    链表翻转 链表翻转,下面是最简单的一种链表翻转 基本上有两个方法: 递归版本 非递归版本(多指针) package main import "fmt" type Node struct { Element int Next *Node } func (n *Node) Generate(num int) { tailNode := n for i := 0; i < num; i++ { node := &Node{Element: i + 1}

    1.2K20发布于 2020-12-15
  • 来自专栏全栈程序员必看

    golang ipc 通信_golang 2.0

    NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号为123。

    1.3K20编辑于 2022-11-08
  • 来自专栏陶士涵的菜地

    Golanggolang实现简单memcache

    如果有使用内存存一些简单数据的功能,可以实现下面这样的带有过期时间的内存类 内存中存储key-value,并且可以设置过期时间 package tools import ( "sync" "time" ) // Memory struct contains *memcache.Client type Memory struct { sync.Mutex data map[string]*data } type data struct { Data int

    1K40编辑于 2022-07-24
  • 来自专栏后端

    golang 重要知识:golang 调度

    二、golang 的调度 上面提及到抢占式调度会有个频繁切换的过程,在切换时,需要不断的保存或恢复上下文信息。 而这会涉及到操作系统内核态和用户态的切换,性能损耗会很大。 对此,golang 实现了属于自己的调度模型,采用了基于协作的抢占式调度。之所以是"协作"的,是因为 Go 的调度时机是由用户自己设置的,而这里的用户指的是 golang 的运行时 runtime。 三、golang 的 GPM 模型 为了实现 golang 的调度,golang 抽象出了三个结构,也就是我们常见的 G、P、M。 G:也就是协程 goroutine,由 Go runtime 管理。 总结 相信看过本文后,各位对 Golang 的调度有了一定的了解。正是因为基于协作的抢占式调度和 GMP 模型,Golang 的高并发高性能才有了底层保障。

    1.4K60发布于 2021-07-30
  • 来自专栏陶士涵的菜地

    Golanggolang实现urlencode urldecode函数

    golang实现urlencode函数、 urldecode函数,url加解密函数 func UrlEncode(str string) string { return url.QueryEscape

    2.5K30编辑于 2022-07-24
  • 来自专栏hotqin888的专栏

    golang

    Person{ {"Bob", 31, []string{"hello", "apple"}, m, list, mm}, // {"John", 42, []string{"python", "golang []string{"base", "peach", "pear"},map[string]{"a":"haha"}}, // {"Jenny", 26, []string{"python", "golang

    1K30发布于 2018-09-11
  • 来自专栏记录

    Golang

    记录一下,方便下次使用: const dataFile = "../conf/db.yml" skip是要提升的堆栈帧数,0-当前函数,1-上一层函数,.... _, filename, _, _ := runtime.Caller(1) datapath := path.Join(path.Dir(filename), dataFile) golog.Info("================="+datapath+"------------------------------------------"

    5.3K20编辑于 2025-01-08
  • 来自专栏全栈程序员必看

    golang开发环境搭建_golang web框架

    Golang环境搭建 ——————— Windows平台应先安装 MinGW 一、Windows平台 1.下载官方提供的相应平台的安装包: https://code.google.com /p/go/downloads/list 2.将下载的安装包解压到自己指定的Golang安装目录下(假设为:D:\Go)。 3.添加如下环境变量: GOROOT Golang安装目录,比如D:\Go GOPATH 用来指定在$GOROOT之外的,包含到项目和他们的二进制文件的源目录。 GOBIN Golang安装目录下的bin目录,D:\Go\bin目录 GOOS 目标平台(编译后的目标平台)的操作系统(darwin、freebsd、linux、windows) GOARCH /golang.sh 4.在终端执行 go env 验证Golang环境变量 5.在终端执行 go ,出现 go 指令的参数说明信息,表明安装成功。

    2.3K30编辑于 2022-11-18
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析(2):Golang context 包

    注意:go1.6及之前版本请使用golang.org/x/net/context。go1.7及之后已移到标准库context。

    73610编辑于 2022-08-02
  • 来自专栏小工匠聊架构

    Golang - 使用CentOS 7 安装Golang环境

    操作步骤 为在CentOS 7上安装Go语言环境,可以按照以下步骤进行操作: 下载Go语言包: 从官方网站 https://golang.org/dl/ 下载适用于Linux的Go语言包。

    2.8K00编辑于 2024-05-26
  • 来自专栏中二病也要当白帽子

    Vue+Golang接入KeyCloakVue+Golang接入KeyCloakVue+Golang接入KeyCloak

    Vue+Golang接入KeyCloak Vue+Golang接入KeyCloak实现简单的角色划分、权限校验。 本人Golang苦手,也是第一次接触Keycloak。 后端Golang Beego框架接入Keycloak。使用前端传过来的Authorization进行鉴权。 区分普通用户和管理员两种角色。 安装导入vue-keycloak-js Golang接入 golang接入keycloak,这里使用gocloak库。我使用的是v8版本,目前已经有v9了。

    2.6K30发布于 2021-11-24
  • 来自专栏加菲的博客

    Golang】使用Golang编写Hugo发布器

    Hugo 是 Golang 编写的静态网站生成器,速度快,易用,可配置,我也是通过golang的学习,发现了Hugo,它不用依赖一大堆东西,一个二进制文件就可以搞定,简洁。 **为了延续Hugo的golang血统,所以继续选择go 2.包 2.1 os/exec 主要用于验证hugo命令是否存在于系统环境中 func checkHugo() error { //验证 = nil { fmt.Println(err.Error()) log.Fatal(err) } 2.3 golang.org/x/crypto/ssh 主要用于创建ssh连接 func

    1.3K10编辑于 2022-06-23
  • 来自专栏服务端技术杂谈

    Golang笔记

    静态编译 编译时一个将源代码翻译成低级语言的过程。编译过程比较慢,在设计Go时,编译速度是主要的设计目标之一。静态类型意味着变量必须指定一个类型,如整形,字符串,布尔,数组等,可以在声明变量时指定变量类型,大多数情况下,让编译器自动去推断变量类型。 垃圾回收 变量有一个确定的生命周期。例如函数中定义的局部变量,当函数退出时变量就不存在了。语言的垃圾回收机制可以记录不在使用的变量,然后释放他们占用的内存。垃圾回收机制带来一些性能影响。 代码运行 go run命令会先编译然后再运行你的代码,会在一个临时目录下编

    93540发布于 2018-04-17
  • 来自专栏Golang开发

    Golang——Context

    Go中goroutine之间没有父与子的关系,多个gorountine都是平行的被调度,不存在所谓的子进程退出后的通知机制。多个goroutine协调工作涉及 通信,同步,通知,退出 四个方面: 通信:chan通道是各goroutine之间通信的基础。注意这里的通信主要指程序的数据通道。 同步:可以使用不带缓冲的chan;sync.WaitGroup为多个gorouting提供同步等待机制;mutex锁与读写锁机制。 通知:通知与上文通信的区别是,通知的作用为管理,控制流数据。一般的解决方法是在输入端绑定两个chan,通过select收敛处理。这个方案可以解决简单的问题,但不是一个通用的解决方案。 退出:简单的解决方案与通知类似,即增加一个单独的通道,借助chan和select的广播机制(close chan to broadcast)实现退出。 context设计目的: 1.退出通知机制一一通知可以传递给整个 goroutine 调用树上的每一个。 2.传递数据一一数据可 以传递给整个 goroutine 调用树上的每一个 goroutine

    1.2K10发布于 2019-05-29
  • 来自专栏golang算法架构leetcode技术php

    golang 基础

    main() { s := S{} p := &s f(s) //A g(s) //B f(p) //C g(p) //D } 考点:interface 看到这道题需要第一时间想到的是Golang 是强类型语言,interface是所有golang类型的父类,类似Java的Object。 函数中func f(x interface{})的interface{}可以支持传入golang的任何类型,包括指针,但是函数func g(x *interface{})只能接受*interface{} string]string{"b": "b"}] = 1 mmap[map[string]string{"c": "c"}] = 1 fmt.Println(mmap) } 考点:map key类型 golang

    83241编辑于 2022-08-02
  • 来自专栏月梦·剑心的技术专栏

    Golang interface

    在Go语言中,接口(interface)是一种类型,定义了一组方法签名,用于描述对象的行为,是一组方法的集合。接口只定义方法(方法的名称、参数列表和返回值列表)而不实现。接口是一种抽象的类型,可以被其他具体类型实现,从而实现多态性。

    40830编辑于 2023-08-31
  • 来自专栏运维开发王义杰

    golang channel

    在Go语言中,channel是一种用于在goroutine之间传递数据的通信机制。它可以让一个或多个goroutine等待另一个goroutine发送消息,也可以让一个goroutine等待多个goroutine的响应。

    35930编辑于 2023-08-21
  • 来自专栏XinChen's Tec

    Hello, GoLang

    Hello, GoLang 前言 很简单,朋友们都要卷,我也卷 一、GoLang简介 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

    40630编辑于 2023-03-06
  • 来自专栏Golang开发

    Golang——WebSocket

    <button id="close">关闭</button> <input id="input" type="text" value="Hello <em>golang</em>

    1.3K20发布于 2019-05-29
  • 来自专栏01ZOO

    Hacking with Golang

    背景 根据一篇报道 显示,golang 成为继 python 之后最受黑客欢迎的工具语言。而且和 python 的差距正在缩小。 golang 具有一些 python 的优势:开发块,跨平台;同时又有 python 不具有的优势:运行效率高,在暴力破解,端口扫描,爬虫等等场景,编程语言的运行效率还是很重要的。 [20210801131657.png] 这篇文章从几个知名 golang 安全项目的角度,看看 golang 在安全领域的使用场景和特定。

    2.2K160发布于 2021-08-07
领券