我的go练手项目--使用go实现“在文件中替换”功能

写这个项目的需求比较简单,就是想批量替换一批文件里面的关键字(实际场景是为了迁移到达梦,需要把php代码里面使用oci的函数名全替换了) 不过由于替换规则比较复杂,现有的文本编辑器不好操作,所以写了一个工具辅助 package main import ( "bytes" "fmt" "io/iout ...

[Go] GO语言实战-gin框架项目实现中英文切换

如果项目中需要有多语言的展示,类似网站中英文切换,可以使用下面这个方法来实现 主要思路就是,页面html内容展示的时候,不能固定写死在页面上,需要从控制器部分分配过来变量,展示输出这个变量 这个变量的内容来自一个结构体的成员,该结构体在创建实例的时候,可以根据传递参数的不同,实例的成员内容不同 实际 ...

go 在crontab里面运行报错 解决方案

问题背景 你高高兴兴的写好了一个go脚本,放到你的服务器上,打算定期运行这个脚本,你打开crontab -e, 然后输入: */1 * * * * go run /root/test/main.go 然后发现迟迟没有反应,你就查看一下输出什么错误: */1 * * * * go run /root/ ...

go 动态数组 二维动态数组

go使用动态数组还有点麻烦,比python麻烦一点,需要先定义。 动态数组申明 var dynaArr []string 动态数组添加成员 dynaArr = append(dynaArr, "one") ```go # 结构体数组 ```go package main import ( "fmt" ...

go map嵌套 map的value可以是任意类型

在日常编程中,除了使用内置的数据类型,还会使用一些复杂的自定义数据类型,比如map K为string,V为数组。先了解一下go对map的基本设定: map的key可以是任意内置的数据类型(如int),或者其它可以通过"=="进行等值比较的数据类型,如interface和指针可以。slice、数组、m ...

Go Protobuf 参考教程

官方参考文档: go install google.golang.org/protobuf/cmd/protoc-gen-go 安装protobuf go 插件 https://developers.google.com/protocol-buffers/docs/reference/go-gene ...

Go的100天之旅-08字符串

简介 字符串在各种编程语言中都是很基础的一种类型,在Go中字符串简单理解就是一个数组,数组里面的元素是byte类型。因此基本上拥有类似数组的全部特性。例如len可以返回字符串的字节数,注意不是字符的长度: s := "go" fmt.Println(len(s)) //2 也可以根据下标访问该位置的 ...

Go的100天之旅-07条件和循环

条件语句 Go的条件语句和其它语言类似,主要是不支持三目运算符所以?:这种条件判断是不支持的。Go提供的条件判断语句主要有 if 还有 switch这两种形式下面是 if条件语句 if的几种写法,基本上和其它语言是一致的 if 条件 { } else { } if 条件 { } else if 条件 ...

Go的100天之旅-06数组和Slice

数组 Go的数组和其它语言基本上一样,是长度固定的特定类型元素组成的序列,这基本上是所有语言数组的特性。和其它语言相比差异主要在声明和初始化的写法上,下面是简单声明一个数组: var a [5]int fmt.Println(a[0]) fmt.Println(fmt.Println(a[len(a ...

go mod管理 init 和 包导入的关系

你创建了一个文件的名字为: lisi001 如果你初始化项目名字为lisi, go mod init lisi 那么你导包的时候就得也用lisi import ( "lisi/path" "lisi/tools" ) 总结:一切以mod的为主,不要用创建文件的名字lisi001,要用lisi. ...

GO语言环境探究与配置;1.14.5

曾经学了两次Go语言,但是由于很长时间没用,都忘光了。今天重新探究一下,对环境配置过程中进行简单记录,防止再次忘记: 下载Go开发环境:https://www.jetbrains.com/go/ 下载Go语言开发包:https://golang.org/dl/ , 安装并配置环境变量; Go语言官方 ...

Go的100天之旅-05常量

简介 道可道,非常道。这里常道指的永恒不变的道理,常有不变的意思。顾名思义和变量相比,常量在声明之后就不可改变,它的值是在编译期间就确定的。 下面简单的声明一个常量: const p int = 1 声明常量的时候可以指定类型也可以类似:=简单声明一样,不指定类型如下: const p = 1 也可 ...

Go的100天之旅-04基础数据类型

简介 在变量的定义中,我们讲了每个变量是有类型的,类型在计算机中是用来约束数据的解释。Go语言和其它计算机语言一样,提供丰富了丰富的数据类型,我们就来看看到底有哪些类型,同时也可以比较一下它和其它语言的区别。 整型 整型就是用来表示变量是整数的类型。和C类似,Go整型分为两个大类,无符号和有符号的, ...

Golang学习系列第二天:变量、常量、数据类型和流程语句

继golang第一天后,今天学习下golang的变量、常量、数据类型和控制流语句。 做过其他编程语言(比如JavaScript,java,python)项目的话,其实很好理解变量、常量、数据类型和控制流。 变量也被称为“变数”,是反映事物运动变化状态的量,比如汇率、房贷利率、贷款利率。 常量也被称“ ...

Viper解析&加载配置

Viper解析&加载配置 1 Viper是什么 Viper是一个方便Go语言应用程序处理配置信息的库。它可以处理多种格式的配置。它支持的特性: 设置默认值 从JSON、TOML、YAML、HCL和Java properties文件中读取配置数据 可以监视配置文件的变动、重新读取配置文件 从环境变量中 ...

Go包管理go mod使用

Go Modules介绍 为了解决Go包管理的问题,Go从1.11开始加入了Go Modules这一新特性。让包的依赖和版本管理更加容易。 一个module可以理解为一个单独的包或者模块,module的根目录下会包含一个go.mod文件。go.mod文件中定义了该module被其它包import的p ...

<1···345···36>