首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏陶士涵的菜地

    【Golang】golang实现简单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

    1.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.5K60发布于 2021-07-30
  • 来自专栏无道编程

    【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.3K20发布于 2020-12-15
  • 来自专栏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

    1.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.4K20编辑于 2025-01-08
  • 来自专栏陶士涵的菜地

    【Golang】golang实现urlencode urldecode函数

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

    2.5K30编辑于 2022-07-24
  • 来自专栏小工匠聊架构

    Golang - 使用CentOS 7 安装Golang环境

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

    2.9K00编辑于 2024-05-26
  • 来自专栏加菲的博客

    【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.4K10编辑于 2022-06-23
  • 来自专栏golang算法架构leetcode技术php

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

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

    80610编辑于 2022-08-02
  • 来自专栏Miigon's Blog

    Golang: Functions

    Reader of this blog is assumed to have some basic programming skills. So in this series, we will not get into basic things like how function works. Because it’s basically the same for every languages, including Go.

    29520编辑于 2022-10-27
  • 来自专栏服务端技术杂谈

    Golang包

    所有可执行的Go程序都必须包含一个main函数,作为程序运行的入口,main函数放在main包中。

    72230发布于 2018-09-21
  • 来自专栏方球

    golang http

    router := http.NewServeMux()
     server := http.Server{}

    64330发布于 2019-08-21
  • 来自专栏全栈之路

    golang教程

    环境搭建 Golang在Mac OS上的环境配置 使用Visual Studio Code辅助Go源码编写 VS Code折腾记 - (2) 快捷键大全,没有更全 语法 public的变量必须以大写字母开头 ,private变量则以小写字母开头 Go语言对{ }应该怎么写进行了强制 golang if express{ ... } Go 语言首创的错误处理规范: golang f, err := os.Open ```golang type Bird struct { … } func (b *Bird) Fly() { // 以鸟的方式飞行 } type IFly interface { Fly (two.IStream); ok { … } - 类型查询 ```golang var v1 interface{} = ... switch v := v1. 它是一个强大而易用的包,也是Golang语言是一门“互联网语言”的最好 证。通过http包,只需要数行代码,可实现一个爬虫或者一个Web务器,这在传统语言中 是无法想象的。 ?

    1.5K10发布于 2020-01-21
  • 来自专栏01ZOO

    golang with script

    抓取脚本的改动肯定不希望整个工程都要重新编译 做为测试脚本使用,脚本语言开发快,验证快,比较适合开发一些测试工具 开源项目 工具 语法 作为 repl 可用性 作为嵌入脚本可用性 原理 备注 直接 go run golang 很低 中 go run 可以在go 语言文件上面加 env 标识,同时 对 go run 封装一下, 比如这样,可以动态获取包 gop golang like 高(v0.7) 高 两种模式,bytecode 模式使用 VM 实现,还有一种模式使用代码生成 + go run v0.7 支持 repl,master 已经删除 tengo golang like 高 高 VM 官方 bench 表示性能在同类中很高 中 高 Interpreter 项目比较活跃 anko golang like 中 中 Interpreter - gore golang like 高 低 代码生成 + go run 作为 repl 工具还可以,支持代码提示 gomacro golang like 很高 中 代码生成 + Interpreter 作为 repl 工具的最佳选择, 支持 import 第三方包, 功能非常健全,这个

    4K170发布于 2021-10-21
  • 来自专栏golang分享

    golang面试

    6.0 多线程 Redis 多线程的实现机制 MySQL limit 偏移量的区别 如 下面2条SQL的区别 数据结构&算法 不同方式实现队列 dfs遍历文件夹 go Go中的http包的实现原理 Golang

    5.3K01发布于 2021-04-18
  • 来自专栏landv

    golang orm

    package main import ( "fmt" "github.com/astaxie/beego/orm" _"github.com/go-sql-driver/mysql" ) type User struct{ Id int Name string `orm:"size(100)"` Fuck string Admin int } func init() { // set default database orm.R

    85430发布于 2019-05-31
  • 来自专栏c++与qt学习

    GoLang反射

    GoLang反射 前言 三大法则 第一法则 第二法则 第三法则 API总结 反射类型 反射对象 反射种类 使用场景 接口 结构体 指针 函数 ---- 前言 反射是 Go 语言比较重要的特性。

    91340编辑于 2022-08-23
  • 来自专栏陶士涵的菜地

    【Golang】golang中time类型的before方法

    在比较时间的时候,比较有用的一个方法,判断两个时间的前后关系 a.before(b) 如果a在b之前,就返回true ,否则返回false func TestTimeBefore(t *testing.T) { b := time.Now().Add(1 * time.Second) a := time.Now().Add(2 * time.Second) log.Println(b.Before(a)) } 返回true

    1K20编辑于 2022-07-24
  • 来自专栏Golang语言社区

    Golang语言社区--golang 进度下载文件

    大家好,我是Golang社区主编彬哥,本篇给大家转载一篇关于文件下载相关的文章。

    2.4K60发布于 2018-03-14
  • 来自专栏Golang语言社区

    Golang学习笔记之Golang与Mysql交互

    参见http://golang.org/s/sqldrivers获取第三方驱动。 这里选择了Go-MySQL-Driver这个实现。

    2.8K10发布于 2018-12-28
领券