Go语言中文网 为您找到相关结果 1685

第一个Go程序

学习一门新的编程语言,当然躲不过hello world了。下面是go版本的hello world package main // 声明自己属于main包 import "fmt" // 导入标准库代码包fmt // 入口函数,也称主函数 func main() { fmt.Println("Hello World") // 打印Hello World } goland可以直接点run运行,也可以使用命令行来执行。 cd到该文件目录下 go build main.go // main.go是该文件名,文件名可以自己定 默认编译出的可执行文件名就是main,windows下是main.exe, 直接 main.exe,就可以看到输出...阅读全文

博文 2020-02-24 17:32:43 iuoui

go 学习笔记之工作空间

搭建好 Go 的基本环境后,现在可以正式开始 Go 语言的学习之旅,初学时建议在默认的 GOPATH 工作空间规范编写代码,基本目录结构大概是这个样子. . |-- bin | `-- hello.exe |-- pkg | `-- windows_amd64 | `-- github.com | `-- snowdreams1006 | `-- learn-go | `-- strings.a `-- src `-- github.com `-- snowdreams1006 `-- learn-go |-- README.md |-- hello | `-- hello.go `-- strings |-- reverse.go `-- reverse_test.go Go 相关的代码保...阅读全文

博文 2019-08-02 21:32:41 雪之梦技术驿站

golang开发笔记

go build 不同系统 Mac下编译Linux, Windows平台的64位可执行程序: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build test.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go Linux下编译Mac, Windows平台的64位可执行程序: CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build test.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build test.go Windows下编译Mac, Linux平台的64位可执行程序: SET CGO_ENAB...阅读全文

Go语言入门(九) 文件操作

文件操作 文件的基本操作 读文件 func readFile(){ filename := "./aaa.log" file, err := os.Open(filename) if err != nil { fmt.Printf("open %s is error,error %v\n",filename,err) return } //关闭文件句柄 defer func() { file.Close() }() //读取文件 var buf[4096]byte var content []byte for { n,err := file.Read(buf[:]) if err != nil && err != io.EOF { fmt.Printf("Read %s failed,err...阅读全文

博文 2020-04-09 14:33:33 wx5b285b48ed74e

golang标准库之flag

flag包实现了简单的命令行参数解析,支持bool、int、int64、uint、uint64、float64、string和time.Duration八种类型的命令行解析。 使用方法 注册flag流程如下: import "flag" var ip = flag.Int("flagname", 1234, "help message for flagname") // 返回指针类型,访问时需要加* fmt.Println("ip has value ", *ip) var flagvar int func init() { flag.IntVar(&flagvar, "flagname", 1234, "help message for flagname") // 放在init函数中,确保...阅读全文

博文 2020-06-02 17:32:53 风铃草613

【环境篇】golang环境变量二三事(二)

继续上篇文章的学习,今天来看看其他的环境变量。 GOEXE The executable file name suffix (".exe" on Windows, "" on other systems). 编译后的二进制文件后缀,在Windows平台是".exe",在其他平台是""。 GOFLAGS 这个变量看起来比较陌生,用的不多,我们看看文档里是怎么解释的: A space-separated list of -flag=value settings to applyto go commands by default, when the given flag is known bythe current command. Each entry must be a standalone ...阅读全文

博文 2020-01-17 11:33:44 wx5e1abbbb0a5e5

关于收集,标准化和集中化处理Golang日志的一些建议

依赖分布式系统的公司组织和团队经常使用Go语言编写其应用程序,以利用Go语言诸如通道和goroutine之类的并发功能。如果你负责研发或运维Go应用程序,则考虑周全的日志记录策略可以帮助你了解用户行为,定位错误并监控应用程序的性能。 这篇文章将展开聊一些用于管理Go日志的工具和技术。我们将首先考虑要使用哪种日志记录包来满足各种记录要求。然后会介绍一些使日志更易于搜索和可靠,减少日志资源占用以及使日志消息标准化的技术。 日志包的选择 Go标准库的日志库非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持. 所以催生了很多第三方的日志库,流行的日志框架包括logrus、zap、glog等。我们先来大致看下这些日志库的特点...阅读全文

博文 2020-03-22 22:34:26 kevinyan

golang初探与命令源码分析

前段时间有群友在群里问一个go语言的问题: 就是有一个main.go的main函数里调用了另一个demo.go里的hello()函数。其中main.go和hello.go同属于main包。但是在main.go的目录下执行go run main.go却报hello函数没有定义的错: 代码结构如下: **gopath ---- src** **----gohello** **----hello.go** ** ----main.go** main.go如下: package main import "fmt" func main() { fmt.Println("my name is main") hello() } hello.go如下: package main import "fmt" f...阅读全文

博文 2019-10-18 10:02:51 小碗汤

Go Modules 详解

文链接:Go Modules 详解 Go 1.11 和 Go 1.12 包含了初步的 Go Modules 支持,且计划在 2019 年 8 月发布的 Go 1.13 会在所有开发过程中默认使用 Go Modules。 Go Modules 是为了提升使用其他开发者代码,即添加依赖项(模块、包)时的体验,也是为了让代码的正确性、安全性得到保障。并且 Go Modules 可以使用 GOPROXY 环境变量来解决中国大陆无法使用 go get 的问题。 所以学习跟 Go Modules 有关的知识是很有必要的。 模式 Go Modules 在 Go 1.11 及 Go 1.12 中有三个模式,根据环境变量 GO111MODULE 定义: 默认模式(未设置该环境变量或 GO111MODULE=a...阅读全文

golang 命令行参数解析 hflag

## 简介 `hflag` 是被设计用来替代标准的 `flag` 库,提供更强大更灵活的命令行解析功能,相比标准库,`hflag` 有如下特点 - 支持可选参数和必选参数 - 支持参数缩写 - 支持位置参数,位置参数可以出现在任意位置 - 支持 bool 参数简写 (`-aux` 和 `-a -u -x` 等效) - 支持值参数缩写 (`-p123456` 和 `-p 123456` 等效) - 更多类型的支持,支持 `net.IP`,`time.Time`,`time.Duration`,`[]int`, `[]string` 的解析 - 更友好的用法帮助 - 提供一套更简洁的 api - 完全兼容 flag 接口 ## 用法 `hflag` 提供两套 `api`,一套完全兼容标准库的 `...阅读全文

博文 2019-11-28 17:58:32 hatlonely

使用Kubernetes正确处理客户端请求

确保所有客户端请求均得到正确处理 让我们从Pod的客户端的剖析(客户端消费Pod提供的服务)的角度来看Pod的生命周期。我们希望确保妥善处理客户端的请求,因为如果在pod启动或关闭时连接开始中断,则很麻烦。 Kubernetes本身并不能保证不会发生这种情况,所以让我们看看我们需要采取什么措施来防止这种情况发生。 在Pod启动时防止客户端连接断开 如果您了解service和service endpoints的工作方式,那么确保在pod启动时正确处理每个连接非常简单。Pod启动后,会将其作为端点添加到对应的服务(Kubernetes 采用了基于标签的服务发现方式,它们的标签选择器与Pod的标签匹配)。Pod还需要向Kubernetes发出信号,表明已经准备好(通过readiness probe...阅读全文

Go 每日一库之 flag

缘起 我一直在想,有什么方式可以让人比较轻易地保持每日学习,持续输出的状态。写博客是一种方式,但不是每天都有想写的,值得写的东西。有时候一个技术比较复杂,写博客的时候经常会写着写着发现自己的理解有偏差,或者细节还没有完全掌握,要去查资料,了解了之后又继续写,如此反复。这样会导致一篇博客的耗时过长。 我在每天浏览思否、掘金和Github的过程中,发现一些比较好的想法,有JS 每日一题,NodeJS 每日一库,每天一道面试题等等等等。https://github.com/parro-it/awesome-micro-npm-packages这个仓库收集 NodeJS 小型库,一天看一个不是梦!这也是我这个系列的灵感。我计划每天学习一个 Go 语言的库,输出一篇介绍型的博文。每天一库当然是理想状态...阅读全文

博文 2020-01-12 23:32:39 darjun

【无为则无心&Python基础】— 3.编译型语言和解释型语言

1、什么是计算机语言 计算机就是一台用来计算机的机器,人让计算机干什么计算机就干什么。我们需要通过计算机的语言来控制计算机,所谓计算机的语言就是编程语言。 计算机语言其实和人类的语言没有本质的区别,不同点就是交流的主体不同。也就是说中文、英文是人和人之间的交流语言,而计算机语言(编程语言)是人和计算机交流的语言。 计算机语言发展经历了三个阶段: 机器语言 最早的一种计算机语言。 机器语言通过二进制编码来编写程序,二进制编码就是1和0,计算机也只认识1和0。 执行效率高,但编写起来太麻烦。 汇编语言 使用符号(如ABC和各种符号)来代替二进制编码。 编写程序时,不需要使用二进制,而是直接编写符号。 编写完成后,需要将符号转换为机器码,然后再由计算机执行。 符号转换为机器码的过程称为汇编。 将机...阅读全文

博文 2020-04-11 07:32:42 丘木笔记

go 学习笔记之工作空间

搭建好 Go 的基本环境后,现在可以正式开始 Go 语言的学习之旅,初学时建议在默认的 GOPATH 工作空间规范编写代码,基本目录结构大概是这个样子. . |-- bin | `-- hello.exe |-- pkg | `-- windows_amd64 | `-- github.com | `-- snowdreams1006 | `-- learn-go | `-- strings.a `-- src `-- github.com `-- snowdreams1006 `-- learn-go |-- README.md |-- hello | `-- hello.go `-- strings |-- reverse.go `-- reverse_test.go Go 相关的代码保...阅读全文

博文 2019-08-02 17:32:39 雪之梦技术驿站

#1 helloworld.go

写在前面 这不是一篇教程。 是的,准确的来说,这是一份golang学习过程的记录 记录着从golang的基础语法开始到最后也许可以用golang作出点有趣的东西的过程 笔者打算以「程序代码」+「提问解释」这种简洁的记录方式来分享各阶段的学习 当然,第一次学习对于某些内容理解可能有所偏颇,容日后再修正 如果你也是对golang这门语言感兴趣的人 一起呀 安装golang mac安装go �windows安装go(参考前半部分即可) linux安装go 第一个go程序 //helloworld.go package main import "fmt" func main() { fmt.Println("Hello,World") } 如何运行? 在helloworld.go文件所在目录,输入:...阅读全文

博文 2019-10-29 10:32:48 aside section._1OhGeD

redis 学习笔记

#### redis安装 ###### linux 目录结构 * /bin&/sbin ;kernel 二进制可执行程序 * /usr/bin&/usr/sbin&/usr/lib ;(unix software resource) ubuntu/BSD/centOS... 等系统默认自带二进制 可执行程序/动态库 或 通过包管理工具(apt-get/yum)安装的二进制 可执行程序/动态库 * /usr/local/bin&/usr/local/sbin&urs/local/lib ;预留的安装目录, 用于存放用户手动编译安装的二进制 可执行程序/动态库 * /opt ;预留的安装目录, 用于存放用户通过软件安装包安装的大型软件 ###### redis 手动编译安装 ```makefil...阅读全文

go 学习笔记之环境搭建

千里之行始于足下,开始 Go 语言学习之旅前,首先要搭建好本地开发环境,然后就可以放心大胆瞎折腾了. Go 的环境安装和其他语言安装没什么特别注意之处,下载安装包下一步下一步直到完成,可能唯一需要注意的就是 $GOPATH 环境变量的设置问题. 不过,简单起见,目前采用默认配置,等到比较熟悉 Go 语言时候再自定义设置也不迟,因此采用喜闻乐见的傻瓜式安装方式吧! Go 下载安装 由于众所周知的原因,谷歌被墙,因此 Go 的国外官网无法访问,好在已提供 Go 的中国官网可以正常访问. 国外官网: https://golang.org/ 国内官网: https://golang.google.cn/ Go 语言中文网: https://studygolang.com/ 除了官网下载,也可以从第三...阅读全文

博文 2019-08-01 17:32:45 雪之梦技术驿站

区块链编程完全指南:平台、语言与结论

链客,专为开发者而生,有问必答!此文章来自[链客区块链技术问答社区](https://www.liankexing.com),未经允许拒绝转载。 区块链编程完全指南:平台、语言与结论区块链,代表着未来的发展方向。是的,在文章开头,我们首先给出这样的结论。当然,认定未来将围绕这一新兴技术而延拓绝不是什么牵强附会。区块链最初是一种公开且不存在准入限制的技术,但随着后续发展又有新的类型逐步出现,而且每种区块链都有着自己特定的用例集合。公开/无准入区块链的特征包括开放、去中心化以及速度缓慢,而私有/准入型区块链则采取部分或者完全封闭的集中管理方式。 通过今天的文章,我们将共同探讨需要学习哪些知识才能立足区块链技术开发应用程序。当我本人(原文作者)刚刚开始学习区块链时,跟大家一样,我也觉得脑袋里塞满了...阅读全文

博文 2019-06-11 11:32:42 链客区块链技术问答社区

GO学习笔记 - 命令行解析

本文主题:基于os.Args与flag实现Golang命令行解析。 小慢哥的原创文章,欢迎转载 目录 ▪ 一. os.Args▪ 二. flag▪ 三. 结合os.Args与flag实现子命令▪ 附. 参考文档 一. os.Args os.Args用于获取通过命令行传入的参数 ▷ os.Args[0]:程序执行路径▷ os.Args[1]:第1个参数▷ os.Args[2]:第2个参数▷ len(os.Args):参数数量 示例如下 package main import ( "fmt" "os" ) func main() { fmt.Println("Program:", os.Args[0]) for i, v := range os.Args[1:] { fmt.Printf("Ar...阅读全文

博文 2019-07-22 04:03:10 小慢哥

主页

Mattermost是一个开源的,Slack替代产品 作为专有SaaS消息传递的替代方案,Mattermost将您所有团队的通信都集中到一个地方,使其可在任何地方搜索和访问。它是用Golang和React编写的,并且在MIT许可下以MySQL或Postgres的形式作为可生产的Linux二进制文件运行。 image.png 最重要的是: 与Slack兼容,而不是不受Slack限制 – Mattermost 功能 与Slack 功能相抗衡,并支持Slack的传入和传出 Webhook集成的超集,包括与现有Slack集成的兼容性。从现有的Slack团队中,您可以将用户,公共频道历史记录,甚至主题设置颜色导入Mattermost。 image.png **除Web之外的移动和桌面应用程序 ** –...阅读全文

博文 2020-01-15 09:32:43 _Charmy

golang-101-hacks(26)——io.Writer interface

注:本文是对golang-101-hacks中文翻译 与io.Reader 接口相对应的就是 io.Writer接口了 type Writer interface { Write(p []byte) (n int, err error) } 与io.Reader相比,不需要考虑io.EOF 错误, Write方法很简单: Compared to io.Reader, since you no need to consider io.EOF error, the process of Writemethod is simple: 当err == nil 表示所有数据写入成功 (1) err == nil: All the data in p is written successfully; (...阅读全文

博文 2019-06-30 23:32:41 羊羽shine

Golang之go module开发系列二--使用伪版本和GoCenter

Go模块已经为Go开发带来了秩序,但也存在一些潜在的混乱。管理模块尤其是伪版本可能很困难,尤其是在要进行一些最新更改的情况下。 JFrog GoCenter是一个免费的版本话棋模块仓库,现在它包含了一些重要的更新,可以帮助你坚持这个最佳实践。首先让我们看看伪版本是如何工作的,以及您可以期望从这些更改中得到什么。我们还提供了一些指导,让您在升级到1.13或更高版本时保持Go的构建工作。 Go 的模块版本化 对Go模块进行版本化是一个关键特性,它为开发人员提供了一种方法来确保他们的应用程序使用他们想要的依赖项。在对模块进行版本控制时,应用程序可以指定依赖的模块版本,因为我们知道模块版本与其他组件运行时兼容问题。 Go模块版本是通过在底层源存储库中标记其修订来分配的。go命令使用标准形式vX.Y....阅读全文

博文 2020-04-25 04:33:13 JFrog中国

从 golang flag 迁移到 cmdr

基于 cmdr v1.0.306 - Migrating from flag 采用一个新的命令行解释器框架,最痛苦地莫过于编写数据结构或者流式定义了。我们首先回顾一下 cmdr 和其它大多数三方增强命令行解释器都支持的最典型的两种命令行界面定义方式,然后再来研究一下 cmdr 新增的最平滑的迁移方案。 典型的方式 通过结构数据体定义 有的增强工具(例如 cobra,viper)采用结构体数据定义方式来完成界面指定,如同 cmdr 的这样: rootCmd = &cmdr.RootCommand{ Command: cmdr.Command{ BaseOpt: cmdr.BaseOpt{ Name: appName, Description: desc, LongDescription: lo...阅读全文

博文 2019-07-24 17:33:47 banlyst

golang入门之hello world

如果你是一个程序员,想学一门新的编程语言,通常看到它的hello world之后,就知道这个语言大概是什么样,好不好学,go语言是我认为比较好学的一门编程语言,其hello world程序也非常简单。新建hello.go文件,代码如下: package main import "fmt" func main(){ fmt.Printf("hello,world\n") } 命令行执行 root:src$ go run main.go hello,world 如果没有装go环境可以到官网下载,官网下载地址:https://golang.org/dl...阅读全文

Golang之go module开发系列二--使用伪版本和GoCenter

Go模块已经为Go开发带来了秩序,但也存在一些潜在的混乱。管理模块尤其是伪版本可能很困难,尤其是在要进行一些最新更改的情况下。JFrog GoCenter是一个免费的版本话棋模块仓库,现在它包含了一些重要的更新,可以帮助你坚持这个最佳实践。首先让我们看看伪版本是如何工作的,以及您可以期望从这些更改中得到什么。我们还提供了一些指导,让您在升级到1.13或更高版本时保持Go的构建工作。Go 的模块版本化对Go模块进行版本化是一个关键特性,它为开发人员提供了一种方法来确保他们的应用程序使用他们想要的依赖项。在对模块进行版本控制时,应用程序可以指定依赖的模块版本,因为我们知道模块版本与其他组件运行时兼容问题。Go模块版本是通过在底层源存储库中标记其修订来分配的。go命令使用标准形式vX.Y.Z的语义...阅读全文

博文 2020-04-25 01:32:56 JFrog杰蛙科技

消息队列 NSQ 源码学习笔记 (四)

> **nsq** 工具集学习 ### nsq\_to\_nsq nsq 作为消息队列,有个优势是nsqd 各节点之间是不关联的,如果一个节点出了问题,仅仅影响该节点下的topic,channel,以及相关的生产者、消费者。 也就是官方说明的特性第一条:**no SPOF** ( single point of failure 单点故障)。好处不言而喻,坏处也是有的,如果节点出问题,没有备份数据无法恢复。 所以,在官方提供了 nsq\_to\_nsq 作为 nsqd 节点复制的工具,用于做 nsqd 节点数据的备份, 或者也可以用于数据的分发。 类似于MirrorMaker. #### 特性: - 支持将M 个 topic 的消息 publish 到 N 个 nsqd...阅读全文

关于收集,标准化和集中化处理Golang日志的一些建议

依赖分布式系统的公司组织和团队经常使用Go语言编写其应用程序,以利用Go语言诸如通道和goroutine之类的并发功能。如果你负责研发或运维Go应用程序,则考虑周全的日志记录策略可以帮助你了解用户行为,定位错误并监控应用程序的性能。 这篇文章将展开聊一些用于管理Go日志的工具和技术。我们将首先考虑要使用哪种日志记录包来满足各种记录要求。然后会介绍一些使日志更易于搜索和可靠,减少日志资源占用以及使日志消息标准化的技术。 日志包的选择 Go标准库的日志库非常简单,仅仅提供了print,panic和fatal三个函数对于更精细的日志级别、日志文件分割以及日志分发等方面并没有提供支持. 所以催生了很多第三方的日志库,流行的日志框架包括logrus、zap、glog等。我们先来大致看下这些日志库的特点...阅读全文

(二)Golang的变量

为什么需要变量: 变量是程序的基本组成单位不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如: func getVal(num1 int, num2 int) (int, int) {sum := num1 + mum2sub := num1 - num2return sum, sub} func main() {sum, sub := getVal(30, 30)fmt.Println("sum=", sum, "sub=", sub)sum2, _ := getVal(10, 30)fmt.Println("sum=", sum2)...阅读全文

博文 2019-08-16 00:33:55 运维路

Golang 在 Mac、Linux、Windows 下如何交叉编译

golang-gopher.png Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序。 Golang支持的平台和版本 $ go tool dist list 其实 Golang 的交叉编译非常简单,只需要在编译前指定系统和 CPU 架构,基本不会有任何问题,编译出来讲文件拷贝到对应平台就能跑。 Mac 下编译 Linux 和 Windows 64位可执行程序 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go Linux 下编译 Mac 和 Windows 64位可执行程序 CGO_ENABLED=0 G...阅读全文

博文 2020-06-01 17:32:57 chengchaos

golang初探与命令源码分析

前段时间有群友在群里问一个go语言的问题: 就是有一个main.go的main函数里调用了另一个demo.go里的hello()函数。其中main.go和hello.go同属于main包。但是在main.go的目录下执行go run main.go却报hello函数没有定义的错: image 代码结构如下: **gopath ---- src** **----gohello** **----hello.go** ** ----main.go** main.go如下: package main import "fmt" func main() { fmt.Println("my name is main") hello() } hello.go如下: package main import "...阅读全文

博文 2019-10-18 01:32:53 aside section ._1OhGeD

第九章 九析带你轻松完爆 go - 切片 slice

系列文章:总目录索引:九析带你轻松完爆 go 系列教程目录1 前言2 切片的声明3 切片的初始化 3.1 先声明后初始化 3.2 声明并初始化4 切片和数组的关系 4.1 数组转化为切片 4.2 切片的长度 4.3 切片的容量 4.4 切片的切片1 前言 如果你对博客有任何疑问或者想更深入学习 go,请加微信群,我们一起进步:2 切片的声明 切片在 go 语言中是一种特殊的数据类型,你不要觉得它难学,你只需要将它看成一种特殊的数组类型即可。它跟数组区别在于,数组声明时需要指定长度,但切片并不指定长度。如下所示:package mainimport "fmt"func main() { var slice []int # 切片 var arr [2]int # 数组 fmt.Println(s...阅读全文

博文 2020-03-01 23:33:11 九析

Golang一些编译学习探讨

问题一:能介绍一下golang的包的概念么?答:golang程序是通过编译package来生成对应的可执行程序的,编译的入口就是main::main()。包分为两类,一类纪实可执行的包,就是你创建项目之后main.go。另一种是工具包。工具包自身是不可执行的,但是它会给可执行的包增加一些功能,从而起到扩展主应用的作用。当一个包被引用的时候,GO会使用包的声明把这个包创建为全局变量。在go中,一个包就是一个目录。问题二:介绍一下goroot路径的作用呗?答:goroot为go的安装路径,当安装完成了之后,他的作用就是goroot的src路径下为标准库的源码。他的第二个作用就是当执行go run. Go build go install命令的时候,需要去查找工具包的时候,会先在goroot目录下...阅读全文

数据结构和算法(Golang实现)(1)简单入门Golang-前言

数据结构和算法在计算机科学里,有非常重要的地位。此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析。 我们会先简单学习一下Golang,然后进入计算机程序世界的第一个大门。 系列文章首发于:https://goa.lenggirl.com。 简单入门Golang 我们只学Golang语言的一个子集,足以开展接下来数据结构和算法的实现即可。 一、前言 Golang语言是谷歌Google公司在2007年启动,并在2009年正式发布并开源的高级编程语言。开源地址:https://github.com/golang/go,官网地址:https://golang.org。 Golang语言语法简单,支持多平台交叉编译(Linux/Mac/Windows),支持内存...阅读全文

go学习笔记-init函数执行顺序分析

golang中有个神奇的函数init,该函数会在所有程序执行开始前被调用,每个包可以包含多个init函数,所有被编辑器识别到的init函数都会在main函数执行前被调用。通常被用来注册一个程序需要使用的依赖,如mysql注册,配置文件加载等。 在main包的使用 package main import "fmt" func main() { fmt.Println("这里是mian") } func init() { fmt.Println("这里是Init1") } func init() { fmt.Println("这里是Init2") } //输出结果 这里是Init1 这里是Init2 这里是main 一个很简单的示例,可以看到init函数是在main函数执行之前被执行的,并且一个...阅读全文

博文 2020-01-15 09:32:42 旧梦发癫

基于Docker的集成开发环境包含gvim&Emacs

拉取镜像,docker pull jiftle/dev-env:latest README Intr Dev-Env is Develop Envir with vim & emacs, golang & node. It soupport x11 gui apps, contain gvim ,emacs ,eclipse. Include base apps - xz-utils - tree - curl - wget - htop - nmap - git - tig build-env - build-essential - gcc - g++ - make - cmake lang-dev - golang 1.14.2 - node 14.1.0 x11 gui apps - ...阅读全文

博文 2020-05-31 22:33:19 笑吧小鸟