ICode9

精准搜索请尝试: 精确搜索
  • [golang优秀组件] Cobra2022-05-24 00:02:14

    Cobra提供的功能 简易的子命令行模式,如 app server, app fetch等等 完全兼容posix命令行模式 嵌套子命令subcommand 支持全局,局部,串联flags 使用Cobra很容易的生成应用程序和命令,使用cobra create appname 和cobra add cmdname 如果命令输入错误,将提供智能建议,如 app srver,将提示s

  • GoLang 解决中文乱码2022-05-22 01:32:52

    首先需要下载 go get golang.org/x/text/encoding/simplifiedchinese go get golang.org/x/text/transform   package main import ( "bytes" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" &quo

  • golang 空结构体 struct{}2022-05-21 23:33:30

      定义的各种姿势原生定义a := struct{}{}1struct{} 可以就认为是一种类型,a 变量就是 struct {} 类型的一种变量,地址为 runtime.zerobase ,大小为 0 ,不占内存。 重定义类型golang 使用 type 关键字定义新的类型,比如: type emptyStruct struct{}1定义出来的 emptyStruct 是新的类型,

  • CentOS 7.6 安装 GoLang2022-05-21 13:31:21

    一、下载 GoLang 最新版 进入 /usr/local 目录 cd /usr/local 下载到当前目录 wget https://golang.google.cn/dl/go1.18.2.linux-amd64.tar.gz 解压 tar -xvf go1.18.2.linux-amd64.tar.gz   二、配置 配置环境变量打开 /etc/profile 配置文件 vim /etc/profile 增加配置 #=

  • golang 应用自升级2022-05-21 10:32:43

    概要 最近遇到一个需求,golang应用部署在远程机器,远程机器在内网,部署之后不方便再次登录此远程机器去升级。 因此,需要golang应用自动检查是否需要升级,如果需要升级,则下载二进制后自升级。 自升级库 golang自升级的库有好几个,比较之后决定采用: https://github.com/jpillora/overseer

  • Golang实现二维数组的排序2022-05-20 21:32:42

    一、通常的实现方法 实现sort.Interface接口中的3个方法:Len方法、Less方法以及Swap方法,即可通过调用sort包中的Sort方法实现结构体数组的排序。(二维数组可以类比为结构体数组)其中: (1)Len方法表示获取该数组的长度,通常返回len方法返回值。 (2)Less方法表示排序比较方法,通常参数为两个索

  • Golang标准库之flag包2022-05-20 17:00:41

    Go语言内置flag包实现了命令行参数的解析,flag包使得开发命令行工具更为简单。 os.Args 如果你只是简单的想要获取命令行参数,可以像下main的代码示例一样使用os.Args来获取命令参数。 package main import ( "fmt" "os" ) //os.Args demo func main() { //os.Args是一

  • Go: iota & constant2022-05-20 12:32:46

    https://stackoverflow.com/questions/31650192/whats-the-full-name-for-iota-in-golang   一个常量块中,一个常量没有赋值,取上个常量的值     iota从0开始,每行++         不推荐使用iota        

  • Golang第五章:结构体和对象2022-05-18 21:32:29

    Golang面向对象   1. Golang没有类,Go的结构体相对于其它编程语言的类   2. Golang去掉了传统OOP语言的继承、方法重载、构造函数和析构函数、隐藏的指针等等   3. Golang仍有面向对象编程的继承、封装和多态的特性,只是实现方式不同   创建结构体实例的四种方法 type Cat s

  • golang 的net包的网络编程 TCP | HTTP | RPC2022-05-18 20:02:43

    目录1.TCP网络编程2.HTTP网络编程2.1 HTTP2.2 HTTPS3.RPC网络编程3.1 基于TCP的RPC3.2 基于HTTP的RPC3.3 基于jsonRpc的RPC golang net包 1.TCP网络编程 server.go package main import ( "fmt" "log" "net" "os" "time" ) func main() { // 建

  • golang 实现redis 排行榜同分值情况下按时间升序排序2022-05-17 22:33:35

    在排行榜中实现分数和时间排序 分数相同则按照时间排序 需求分析 redis中zset的long为int64 转为十进制是19位 时间戳10位 毫秒时间戳13位 高位存分数7位 十进制 7位 8字节中拆分 最高位不可用 还剩43位 高22位存分数 低41位存时间戳 golang 代码 package main import ( "fmt"

  • 常见排序算法的golang 实现2022-05-17 16:00:11

    五种基础排序算法对比 五种基础排序算法对比 1:冒泡排序 算法描述 比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最后一个;重复步骤1~3,直到排

  • Golang:将日志以Json格式输出到Kafka2022-05-17 08:00:29

    在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/bosima/ylog/releases/tag/v1.0.1 工程实践中,我们往往还需要对日志进行采集,将日志归集到一起,然后用于各种处

  • Go从入门到精通——关于golang指针的理解和引用2022-05-16 22:34:48

    关于golang指针的理解和引用 引用:https://studygolang.com/articles/29273 一、Go指针理解     Go 有指针,但是没有指针运算。你不能用指针变量遍历字符串的各个字节。在 Go 中调用函数的时候,得记得变量是值传递的。   通过类型作为前缀来定义一个指针’ * ’:var p * int。现在

  • golang 打开文件方式2022-05-16 14:31:27

    golang os.OpenFile几种常用模式 os.O_WRONLY | os.O_CREATE | O_EXCL           【如果已经存在,则失败】 os.O_WRONLY | os.O_CREATE                         【如果已经存在,会覆盖写,不会清空原来的文件,而是从头直接覆盖写】 os.O_WRONLY | os.O_CREATE | os.

  • Golang:手撸一个支持六种级别的日志库2022-05-16 08:04:23

    Golang标准日志库提供的日志输出方法有Print、Fatal、Panic等,没有常见的Debug、Info、Error等日志级别,用起来不太顺手。这篇文章就来手撸一个自己的日志库,可以记录不同级别的日志。 其实对于追求简单来说,Golang标准日志库的三个输出方法也够用了,理解起来也很容易: Print用于记录一

  • golang 好用的协程池推荐2022-05-15 18:02:06

    golang开源的协程池项目:github.com/gammazero/workerpool 下面是一段使用 demo package main import ( "fmt" "github.com/gammazero/workerpool" "time" ) func main() { wp := workerpool.New(2) requests := []string{"alpha"

  • [Golang] golang中使用正则表达式替换字符串2022-05-13 23:35:29

    当有比较复杂的替换字符串的需求时候 可以使用我封装的这个函数,通过正则表达式把字符串替换掉 func ReplaceStringByRegex(str, rule, replace string) (string, error) { reg, err := regexp.Compile(rule) if reg == nil || err != nil { return "", errors.Ne

  • 雪崩:限流算法的golang实现2022-05-13 22:02:19

    1. 什么是服务器雪崩 雪崩是由于局部故障被正反馈循环,从而导致的不断放大的连锁故障,雪崩通常是由于整个系统中,一个很小的部分出现故障,进而导致整个系统不可用 雪崩出现的根本原因就是系统过载,如果在系统过载的情况下,不进行任何控制,那么会导致系统雪崩 想要避免雪崩有几种常见的方

  • golang 中的type func()2022-05-12 19:34:49

    go 语言中函数是一等公民,因此针对函数的使用也可以多种多样。在go语言中函数可以作为函数参数传递,也可以作为函数的返回值返回。 function type就是一种典型的应用。 关于function type 官方的定义如下 A function type denotes the set of all functions with the same parameter

  • golang io.copy2022-05-12 13:03:10

    // 复制 采用系统默认缓冲区大小 func Copy(dst Writer, src Reader) (written int64, err error){} // 复制 自定义缓冲区大小 func CopyBuffer(dst Writer, src Reader, buf []byte) (written int64, err error) {}

  • 游戏服务器资源大全2022-05-11 17:32:48

    游戏服务器资源大全   目录 游戏服务器资源大全 网络 协议 持久化 Log 游戏AI 工具库 开源服务器 运维 学习资源 其他   网络 网络相关的库和工具 Java Netty - Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持 Mina - Apache Mina是一个

  • golang 循环中的 switch 里的 break 与 continue2022-05-11 16:01:34

      最近在测试服务器的 UDP 接口, 最开始我使用 python 协程制造负载, 但是单机负载一直不高. 刚好最近在学习 golang 相关的内容, 就用 golang 实现了一个 UDP 施压的程序. 在编写 golang 程序的过程中经常要用到 goroutine 与 channel. 读取 channel 中的内容是阻塞的, 而且官

  • Golang入门注意事项2022-05-10 17:34:46

    1)在golang v1.11之后的版本,自己开发的项目代码不用放进系统变量$GOPATH目录的src子目录下,见:https://www.cnblogs.com/mayanan/p/15401036.html 2)golang的package相当于命名空间,是一个逻辑组织;  3)一个项目只能有一个main函数,main函数所在的文件的头部的package名称应该为main。

  • Golang标准库之context包2022-05-10 16:34:35

    在 Go http包的Server中,每一个请求在都有一个对应的 goroutine 去处理。请求处理函数通常会启动额外的 goroutine 用来访问后端服务,比如数据库和RPC服务。用来处理一个请求的 goroutine 通常需要访问一些与请求特定的数据,比如终端用户的身份认证信息、验证相关的token、请求的截止

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有