[Golang] 用interface{}实现泛型出现的问题

  • Post author:
  • Post category:golang

说明 在做一些实现的时候,碰到了一个棘手的问题,问题是这样的,向一个函数里传入slice和begin,end,返回slice[begin:end]。很明显这是一个实现泛型的问题,但是在做具体实现的时候出现问题。 问题 根据问题,很容易写下如下代码: func returnSlice([]interface{}, begin, end)[]interface{}{ //...具体实现 } slice…

继续阅读 [Golang] 用interface{}实现泛型出现的问题

golang 后台进程的启动和停止

  • Post author:
  • Post category:golang

不想再像java或者其他语言那样为了操作后台程序写各种脚本的话,这篇文章值得你一看 启动命令 和上一篇文章一样,我们先来个非后台运行的启动命令 func init() {     startCmd := &cobra.Command{         Use:   "start",         Short: "Start Gonne",         Run: func(cmd *c…

继续阅读 golang 后台进程的启动和停止

《golang设计模式》第二部分·结构型模式-01-适配器模式(Adapter)

  • Post author:
  • Post category:golang

文章目录 1. 概念 1.1 角色 1.2 应用场景 1.2 类图 2. 代码示例 2.1 设计 2.2 代码 2.3 示例类图 1. 概念 定义一个适配器,帮助原本不能实现接口的类“实现”该接口 1.1 角色 目标(Target):客户端调用的目标接口 被适配者(Adaptee):已经存在且运行良好的类或对象,但它不能实现Taget接口。 适配器(Adapter):继承或管理被适配者,且可以实现…

继续阅读 《golang设计模式》第二部分·结构型模式-01-适配器模式(Adapter)

golang interface 指针、对象

  • Post author:
  • Post category:golang

接口 Say 结构体 Hello package main import "fmt" type Say interface { say() } type Hello struct {} func(h *Hello) say(){ //这里写指针,作为接口时必须引用 fmt.Println("hello") } func main() { var sayHello Say = &Hello{…

继续阅读 golang interface 指针、对象

【golang】gopacket syn端口扫描

  • Post author:
  • Post category:golang

package main import ( "fmt" "github.com/google/gopacket" "github.com/google/gopacket/layers" //"github.com/google/gopacket/routing" "github.com/google/gopacket/pcap" "github.com/phayes/freeport" "net"…

继续阅读 【golang】gopacket syn端口扫描

golang xorm安装报错 生成表结构

  • Post author:
  • Post category:golang

默认情况下安装cmd/xorm 会出现无法编译的情况 GOPATH目录下新建cloud.google.com 文件夹(与github.com同级) 进入文件夹用git下载, https://github.com/GoogleCloudPlatform/google-cloud-go (git@github.com:GoogleCloudPlatform/google-cloud-go.git) 下…

继续阅读 golang xorm安装报错 生成表结构

mac搭建golang开发环境并say hello

  • Post author:
  • Post category:golang

安装 去http://golang.org下载安装包双击安装,不赘述。 安装完毕可以在终端输入go version来确认是否安装成功。 环境变量 1.建一个文件夹:"your path"/"your dir",并在这个dir下面mkdir三个子文件夹bin,pkg和src,例如我的是 /Users/username/workspace/goProject,那么实际如下所示。bin,pkg和src下…

继续阅读 mac搭建golang开发环境并say hello

深入理解 Golang: Go 程序的编译运行过程

  • Post author:
  • Post category:golang

Go program 编译过程 package main import "fmt" func main() { fmt.Println("Hello Go") } 编译前端 词法分析 将源代码翻译成 Token(最小语义结构) 句法分析 Token 序列经过处理,变成语法树 AST 语义分析 类型检查 类型推断 函数调用内联 逃逸分析 编译后端 中间代码生成(SSA) 处理不同平台的差异,生成中间…

继续阅读 深入理解 Golang: Go 程序的编译运行过程

golang sync.Once单例模式介绍

  • Post author:
  • Post category:golang

golang的单例模式介绍 首先在程序开发当中我们都会发现有很多设计模式,那么我们今天介绍的是最常用的单例模式,最近刚好有时时间,和大家一起学习一下!!! 单例模式我们可以自己实现,当前最简单的办法是通过bool类型来判断当然这个是很简单的啦 ,包括可以通过计数方式不做描述(有兴趣可以评论或者私信我看到会回复,要注意并发哦!!!) 那么接下来今天的主场来啦(sync.Once): sync.Onc…

继续阅读 golang sync.Once单例模式介绍

golang数组

  • Post author:
  • Post category:golang

go语言中,数组的使用频率并不高,因为其长度不可变,所以很多时候都是使用slice。slice比数组更灵活,其长度是可变的,不过在介绍slice之前,还是要先介绍一下数组 var  a [3]int   第一种方式就是定义了一个程度位3的int数组,里面的元素都是默认值0 var b  [3] int = [3] int {1,2,3}   定义数组的同时进行初始化的赋值,这种定义方式有些冗余,精…

继续阅读 golang数组