strings包 strings包的使用举例: package main import s "strings" import "fmt" var p = fmt.Println func main() { p("Contains: ", s.Contains("test", "es")) p("Count: ", s.Count("test", "t&quo…
golang的strings包提供了字符串操作的一系列函数.下面做个简单介绍 函数 用法 备注 Compare(a,b sring) 比较两个字符串   Contains(s, substr string) 字符串包含   ContainsAny(s, chars string) 字符串包含,任意一个字符即可   ContainsRune(s string, r rune) rune包含,可以包含unicode字符   Count(s, substr string) 查找substr在s中出现的…
golang用strings.Split切割字符串 kv := strings.Split(authString, " ") if len(kv) != 2 || kv[0] != "Bearer" { beego.Debug("AuthString invalid:"+authString) base.ReturnError(errors.New("AuthString invalid:"+authString)) retu…
python 读取csv文件报错问题 import csv with open('E:/Selenium2script/DDT模块/test.csv','rb') as f: readers = csv.reader(f) next(readers,None) for line in readers: print(line) 输出:_csv.Error: iterator should return strings, not bytes (did you open the file in tex…
------------------------------------------------------------ strings 包与 bytes 包中的函数用法基本一样,不再赘述. 只对 Replacer 进行说明. ------------------------------------------------------------ // 转换 func ToUpper(s string) string func ToLower(s string) string func ToTi…
只列举了部分函数方法的使用: 太多了....... package main import ( "fmt" "strings" ) func main() { Count计算 sep在s中的非重叠个数 func Count(s, substr string) int { s := "Hello,超哥" 统计 l 出现的次数 n := strings.Count(s, "l") fmt.Println(n) 如果substr 为…
(1)func HasPrefix(s, prefix string) bool 判断字符串s是否有前缀字符串prefix: (2)func HasSuffix(s, suffix string) bool 判断字符串s是否有后缀字符串suffix: (3)func Contains(s, substr string) bool 判断字符串s是否包含子串substr: (4)func Count(s, sep string) int 返回字符串s有几个不重复sep子串: (5)func Inde…
      image/draw 包仅仅定义了一个操作:通过可选的蒙版图(mask image),把一个原始图片绘制到目标图片上,这个操作是出奇的灵活,可以优雅和高效的执行很多常见的图像处理任务. 1: // Draw calls DrawMask with a nil mask. 2: func Draw(dst Image, r image.Rectangle, src image.Image, sp image.Point, op Op) 3: func DrawMask(dst Imag…
这些题目是高精度加法和高精度乘法相关的,复习了一下就做了,没想到难住自己的是C++里面string的用法. 原题地址: 415 Add Strings:https://leetcode.com/problems/add-strings/description/ 67 Add Binary: https://leetcode.com/problems/add-binary/description/ 43 Multiply Strings:https://leetcode.com/problems/…
目标: 1.把golang官方已移动过url的包跟随自己的项目git代码上传到项目源码中. 2.把或自己修改过的差异化fork包跟随自己的项目git代码上传到项目源码中. 解决方案: 方案1.第三方包管理 http://tleyden.github.io/blog/2016/02/08/adding-vendoring-to-a-go-project/ 方案2.手动处理过程 a.在项目根目录下创业文件夹 "/vendor/src" b.通过git-subtree下拉包到上一步目录下,红…
知道glide有设置镜像功能,可以把某个依赖包的源地址切换为另一个地址,相当于切换到镜像地址,用于某些依赖包被墙的原因 之前碰到 golang.org/x/net,设置镜像: glide mirror set golang.org/x/crypto github.com/golang/crypto 发现没有效果,还是会报error [WARN] Unable to checkout golang.org/x/crypto [ERROR] Update failed for golang.org/…
针对golang中的字符串的介绍,提供了一些常用的函数和方法 package main import ( "fmt" "strings" ) func main() { s1 := "abc" s2 := "ABC" s3 := s1 + s2 s4 := `hello\n` fmt.Println("s3:", s3) //abcABC fmt.Println("s4:", s4) /…
安装好jdk并配置了环境变量,下载Jmeter包解压启动jemter.bat提示 unable to access jarfile ApacheJmeter.jar error 原因: 从官网 http://jmeter.apache.org/download_jmeter.cgi 下载的是Source包,需要下载Binaries包…
有关在Golang中使用mho进行MongoDB操作的最简单的例子.…
初始目录如下: 其中main.go只有一个主函数main(),用于运行程序,array文件夹是自己定义的包,里面spArr.go位于package array. spArr中的函数名或变量首字母得大写. 进入到array目录,在终端输入go install,在与src同级目录下会有一个pkg文件夹,里面会有go_code/data_structure/array.a,说明包已经安装成功,接下来就可以在main.go中使用了,只需要import "go_code/data_structure/ar…
在linux中有一个tail命令,tail -f可以实时的监控文件新增加的内容,如果用代码实现这个逻辑,可以下载使用这个包go get github.com/hpcloud/tail/... 测试代码: package main import ( "fmt" "github.com/hpcloud/tail" ) func main() { t, _ := tail.TailFile("log.txt", tail.Config{Follow:…
func main() { // 字符串转bytes类型 name := "马亚南" fmt.Println(name) // 马亚南 bName := []byte(name) fmt.Println(bName) // [233 169 172 228 186 154 229 141 151] // bytes类型转16进制字符串 hName := hex.EncodeToString(bName) fmt.Println(hName) // e9a9ace4ba9ae58d97…
1. 如果读取不带空格的数据可以使用fmt.Scan或fmt.Scanln读取一个或多个值,但是不能读取带空格的数据,可以使用bufio和os两个包结合 package main import ( "bufio" "fmt" "os" ) func main() { // os.Stdin将终端中输入的数据写入到Stdin这个文件中去 reader := bufio.NewReader(os.Stdin) fmt.Print("请输入一…
转自:http://www.01happy.com/golang-tcp-socket-adhere/ 在用golang开发人工客服系统的时候碰到了粘包问题,那么什么是粘包呢?例如我们和客户端约定数据交互格式是一个json格式的字符串: {"Id":1,"Name":"golang","Message":"message"} 当客户端发送数据给服务端的时候,如果服务端没有及时接收,客户端又发送了一条数据上来…
Golang 标准库对 IO 的抽象非常精巧,各个组件可以随意组合,可以作为接口设计的典范.这篇文章结合一个实际的例子来和大家分享一下. 背景 以一个RPC的协议包来说,每个包有如下结构 type Packet struct {    TotalSize uint32        Magic     [4]byte        Payload   []byte        Checksum  uint32 } 其中TotalSize是整个包除去TotalSize后的字节数, Magic是一…
在用golang开发人工客服系统的时候碰到了粘包问题,那么什么是粘包呢?例如我们和客户端约定数据交互格式是一个json格式的字符串: {"Id":1,"Name":"golang","Message":"message"} 当客户端发送数据给服务端的时候,如果服务端没有及时接收,客户端又发送了一条数据上来,这时候服务端才进行接收的话就会收到两个连续的字符串,形如: {"Id":1,&qu…
字节遍历,字符遍历 https://play.golang.org/p/DeZcCN9aHXo package main import ( "fmt" "unicode/utf8" ) func main() { s := "充气nb1" // 字节遍历 for i := 0; i < len(s); i++ { fmt.Println(s[i]) } // 字符遍历 fmt.Println("len:", len(s)…
一.概述 Golang拥有超过100个标准包(可用go list std |wc -l查看) 任何包系统设计的目的都是简化大型程序的设计和维护工作,通过将一组相关的特性放进一个独立的模块以便于理解和更新,在每个模块更新的同时保持和程序中其他模块的相对独立,这种模块化的特性允许每个包能被其他的不同项目共享和重用,在项目范围内.全局范围内的复用: 每个包一般都定义了一个不同的名字空间用于它内部的每个标识符的访问. 每个名字空间关联到一个特定的包, 让我们给类型. 函数等选择简短明了的名字, 这样可以…
学习golang难免需要分析源码包中一些实现,下面就来说说container/heap包的源码 heap的实现使用到了小根堆,下面先对堆做个简单说明 1. 堆概念 堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值. 最大堆和最小堆是二叉堆的两种形式. 最大堆:根结点的键值是所有堆结点键值中最大者. 最小堆:根结点的键值是所有堆结点键值中最小者. 2. heap 树的最小元素在根部,为index 0. heap包对任意实现了heap接口的类型提供…
最近在写一个自动生成api文档的功能,用到了reflect包来给结构体赋值,给空数组新增一个元素,这样只要定义一个input结构体和一个output的结构体,并填写一些相关tag信息,就能使用程序来生成输入和输出的相关文档. 介绍 reflect包是golang中很重要的一个包,实现了在运行时允许程序操纵任意类型对象的功能.可以看下文档简单了解一下. 在reflect中,最重要的是Value类,只有先获取到一个对象或者变量的Value对象后,我们才可以对这个对象或者变量进行更进一步的分析和处理.…
说点废话 为小胖做一个温馨提示的功能,思路已经整理好.今天使用goquery的时候,发现已经修改了.其中需要一个golang.org/x/net/html这个包,但是官网已经被万恶的GFW给墙了.这里记录以下解决办法,同样对golang的包管理也做一下记录. 开始 golang的包管理,中规中距.设置好GOPATH之后,只需要建立bin,pkg,src三个目录即可.src放主要的源码. 像之前报的错误,无法import golang.org/x/html ,所以我们只能从github上拿到这部分…
golang自带了testing测试包,使用该包可以进行自动化的单元测试,输出结果验证,并且可以测试性能. 建议安装gotests插件自动生成测试代码: go get -u -v github.com/cweill/gotests/... 测试文件及目录 使用testing测试包的测试文件名称需要以_test.go结尾,并且该测试文件需要与待测试的文件置于同一目录下.比如如下目录: 这里需要测试的是service目录中各个文件中的函数,则在该目录中创建一个名为service_test.go的文件…
----------------------------------------------------------------------------------------------------------- 程序包标准类库 其他程序包     子库     社区标准类库 名称     摘要 存档            tar     tar包实现了对档案的压缩.      zip     zip程序包对读写ZIP文档提供支持. bufio     bufio包实现了输入/输出缓冲.它包含…
什么是 protocol buffers ? Protocol buffers 是一种灵活.高效的序列化结构数据的自动机制--想想XML,但是它更小,更快,更简单.你只需要把你需要怎样结构化你的数据定义一次,你就能使用特殊生成的代码来方便的用多种语言从一系列数据流中读写你的结构化数据.你甚至不需要中断你用"老"结构编译好的已经部署的程序来更新你的数据结构. 它是怎样工作的? 你在一个名为.proto的文件里用protocol buffer message 定义你需要序列化数据的结构.每…
golang数据类型 基本类型:boolean,numeric,string类型的命名实例是预先声明的. 复合类型:array,struct,指针,function,interface,slice,map,channel类型(可以使用type构造). 数据类型转换表 // []byte -> other type []byte => string : string([]byte) []byte => int : binary包处理, 查看下面 // int -> other typ…