DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 541 评论 :: 1614万 阅读
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

随笔分类 -  golang

1 2 下一页

golang
摘要:360导航团队使用 go 语言开发 web 服务时间也比较早,对于 go 服务的进程管理工具的选择上也做了很多尝试。 go 官方并没有提供任何进程管理工具供大家使用,所以我们往往部署线上的 go 服务时会借助其他工具。常用的方式无非是如下这几种: nohup + & 系统内置常驻进程管理工具(ini 阅读全文
posted @ 2023-01-09 14:48 DoubleLi 阅读(425) 评论(0) 推荐(0) 编辑

摘要:GO 编写的进程管理工具 Gosuv Gosuv是一个进程管理工具,使用Go语言编写。与python-supervisor的功能和用法类似。 一、Gosuv的特点: Web控制台部分做了重点加强,因为使用频率太高了,在网页上现在可以直接添加先的应用,网页查看日志的部分也做了优化,查看起来没有这么费劲 阅读全文
posted @ 2023-01-09 14:45 DoubleLi 阅读(264) 评论(0) 推荐(0) 编辑

摘要:裸函数作为指针不是什么新鲜事,其它的语言也是可以的,golang当然也可以,譬如 type FT func(int) func Fa(int){} func Test(FT){} Test(Fa) //pass function as parameter 但是像下面这样,对象实例的方法是否可以作为函 阅读全文
posted @ 2022-07-04 10:40 DoubleLi 阅读(519) 评论(0) 推荐(0) 编辑

摘要:golang GOPROXY及GOPRIVATE的设置及作用 阅读全文
posted @ 2022-07-01 16:43 DoubleLi 阅读(958) 评论(0) 推荐(0) 编辑

摘要:在经过编写 CLI 程序的尝试之后,我们继续回来聊 Go 语言的基础知识。 相信实际写过一些代码之后,会更容易理解。 原计划这期聊 数组和切片。考虑到聊切片时,无论如何绕不开指针和引用的话题,干脆提到前面来。 目录 [TOC] 指针 指针(Pointer)本质上是一个指向某块计算机内存的地址。就像日 阅读全文
posted @ 2022-06-20 15:53 DoubleLi 阅读(1700) 评论(0) 推荐(2) 编辑

摘要:编译自 Custom JSON Marshalling in Go。 我们知道,通过tag,可以有条件地实现定制Go JSON序列化的方式,比如json:",omitempty", 当字段的值为空的时候,我们可以在序列化后的数据中不包含这个值,而json:"-"可以直接不被JSON序列化,如果想被序 阅读全文
posted @ 2022-06-20 15:49 DoubleLi 阅读(435) 评论(0) 推荐(0) 编辑

摘要:Go 语言中,函数参数传递采用是值传递的方式。所谓“值传递”,就是将实际参数在内存中的表示逐位拷贝到形式参数中。对于像整型、数组、结构体这类类型,它们的内存表示就是它们自身的数据内容,因此当这些类型作为实参类型时,值传递拷贝的就是它们自身,传递的开销也与它们自身的大小成正比。 但是像 string、 阅读全文
posted @ 2022-06-20 14:09 DoubleLi 阅读(657) 评论(0) 推荐(0) 编辑

摘要:1. 包的概念 Go 语言是使用包来组织源代码的,并实现命名空间的管理。任何源代码文件必须属于某个包。源码文件的第一行有效代码必须是 package pacakgeName 语句,通过该语句声明自己所在的包。 2. 包的特征 所有的 .go 文件,除了空行和注释,都应该在第一行声明自己所属的包。即所 阅读全文
posted @ 2022-06-20 11:34 DoubleLi 阅读(674) 评论(0) 推荐(0) 编辑

摘要:为想尝试 Go 的朋友开个头,介绍环境的配置。语言的优缺点不在此展开。 因身边多数使用 Win64 环境,以下无特殊说明均以 Win64 为例,日后有需要再补充其他平台部分。 1. Go 下载:https://golang.org/dl/ (out of wall) 版本:1.9+,一般下载最新版本 阅读全文
posted @ 2022-06-17 18:28 DoubleLi 阅读(254) 评论(0) 推荐(0) 编辑

摘要:以前写过《配置 Golang 开发环境》(go < 1.13, win64)。然后 1.13 是一个重大变更,大到需要原有的依赖管理要做迁移的程度(《golang 1.13 - 依赖管理从 dep 到 mod 踩坑》)。 1.13 让原来的配置方式有了变化,撇开语言特性不谈,仅说和配置相关的,最大的 阅读全文
posted @ 2022-06-17 18:27 DoubleLi 阅读(279) 评论(0) 推荐(0) 编辑

摘要:在写 《配置 1.13+ 的 golang 环境》时,花了大量篇幅解释 module 的概念,还有 module 与 package 之间的联系。眼看字数翻了一番,干脆把这部分另起一篇。 module 与 package 0x0 module 不是 package 是的,他们不是同一个概念!!mod 阅读全文
posted @ 2022-06-17 18:24 DoubleLi 阅读(478) 评论(0) 推荐(0) 编辑

摘要:软件是由代码组成的。为了复用代码,代码的组织出现了不同层次的抽象和实现,如 Module(模块),包(Package),Lib(库),Framwork(框架)等。 通常一个Project(项目),会根据功能拆分很多 module,常用的软件会打包成一个个共享库。在开源社区分享软件包是一件十分 coo 阅读全文
posted @ 2022-06-17 16:57 DoubleLi 阅读(836) 评论(0) 推荐(0) 编辑

摘要:一文搞懂Go语言的最新依赖管理:go mod的使用 2.1 背景 Go 依赖管理的演进经历了以下 3 个阶段: 目前被广泛应用的是 Go Module,整个演进路线主要围绕实现两个目标来迭代发展: 不同环境 (项目) 依赖的版本不同; 控制依赖库的版本。 2.2 Go 依赖管理的演进 2.2.1 G 阅读全文
posted @ 2022-06-17 15:57 DoubleLi 阅读(613) 评论(0) 推荐(0) 编辑

摘要:在使用 Go module 过程中,随着引入的依赖增多,也许你会发现go.mod文件中部分依赖包后面会出现一个// indirect的标识。这个标识总是出现在require指令中,其中// 与代码的行注释一样表示注释的开始,indirect表示间接的依赖。 比如开源软件 Kubernetes(v1. 阅读全文
posted @ 2022-06-17 15:47 DoubleLi 阅读(925) 评论(0) 推荐(0) 编辑

摘要:import golang 中的模块是通过 package 进行组织管理的,通过 import 进行导入的 几种包的导入形式: 导入标准库 import "fmt",是最常用导入标准的形式 import f "fmt",为标准库起一个别名,而后调用 fmt.Println("") 可以使用 f.Pr 阅读全文
posted @ 2022-06-17 15:39 DoubleLi 阅读(2320) 评论(0) 推荐(0) 编辑

摘要:hello world 从一个简单的程序开始解释,将下面的内容放进test.go文件中,路径随意: package main import ( "fmt" ) func main() { fmt.Println("Hello World") } Go通过包的方式管理程序,每个Go源代码文件都必须声明 阅读全文
posted @ 2022-06-17 15:20 DoubleLi 阅读(369) 评论(0) 推荐(0) 编辑

摘要:import导入包 搜索路径 import用于导入包: 1 2 3 4 5 import ( "fmt" "net/http" "mypkg" ) 编译器会根据上面指定的相对路径去搜索包然后导入,这个相对路径是从GOROOT或GOPATH(workspace)下的src下开始搜索的。 假如go的安装 阅读全文
posted @ 2022-06-17 15:13 DoubleLi 阅读(595) 评论(0) 推荐(0) 编辑

摘要:一、golang 的 module 是包管理工具 此篇属于golang开发基础、入门,管理源码中包的依赖关系、版本。捋顺包管理方法、重要性不言而喻。在 go1.11 之前,安装 golang 之后,需要配置两个环境变量即GOROOT 和GOPATH。GOROOT是 go 安装后的所在的路径,GOPA 阅读全文
posted @ 2022-06-17 11:32 DoubleLi 阅读(612) 评论(0) 推荐(0) 编辑

摘要:Go 并发 Go 程 Go 程(goroutine)是由 Go 运行时管理的轻量级线程。 go f(x, y, z) 会启动一个新的 Go 程并执行 f(x, y, z) f, x, y 和 z 的求值发生在当前的 Go 程中,而 f 的执行发生在新的 Go 程中。 Go 程在相同的地址空间中运行, 阅读全文
posted @ 2022-06-16 18:26 DoubleLi 阅读(173) 评论(0) 推荐(0) 编辑

摘要:Go 流程控制语句:for、if、else、switch 和 defer § for Go 只有一种循环结构:for 循环。 基本的 for 循环由三部分组成,它们用分号隔开: 初始化语句:在第一次迭代前执行 条件表达式,则前后的;会被去掉,若有:在每次迭代前求值 后置语句:在每次迭代的结尾执行 初 阅读全文
posted @ 2022-06-16 17:11 DoubleLi 阅读(143) 评论(0) 推荐(0) 编辑

1 2 下一页
点击右上角即可分享
微信分享提示