Go语言中的字符串处理 发布时间: 2022-05-03 09:16:44 评论数: 0
1 概述字符串,string,一串固定长度的字符连接起来的字符集合。Go语言的字符串是使用UTF-8编码的。UTF-8是Unicode的实现方式之一。Go语言原生支持字符串。使用双引号(“”)或反引号(``)定义。双引号:””, 用于单行字符串。反引号:``,用于定义多行字符串,内部会原样解析。示例:// 单行 "心有猛虎,细嗅蔷薇" // 多行 ` 大风歌 大风起兮云飞扬。 威加海内兮归故乡。 安得猛士兮守四方! `字符串支持转义字符,列表如下:\r  回车符(返回行首)\n  换行符(直接跳到下一行的同列位置)\t  制 ......
Go 编译应用软件相关设置 Golang的跨平台编译程序 发布时间: 2022-05-02 04:53:52 评论数: 0
各平台的GOOS和GOARCH参考OSARCHOS versionLinux386 / amd64 / arm>= Linux 2.6darwin386 / amd64OS X (Snow Leopard + Lion)freebsd386 / amd64>= FreeBSD 7Windows386 / amd64>= Windows 2000编译方法例如linux的64位软件CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o 存放位置 ./main.gomac的64位就是CGO_ENABLED=0 GOOS=d ......
Go语言的包管理 发布时间: 2022-04-29 00:12:09 评论数: 0
1 概述Go 语言的源码复用建立在包(package)基础之上。包通过 package, import, GOPATH 操作完成。2 main包Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想要引用别的代码,需要import导入!3 包定义,packageGo 语言的包与文件夹一一对应,同一个目录下的所有.go文件的第一行添加 包定义,以标记该文件归属的包,演示语法:package 包名包需要满足:一个目录下的同级文件归属一个包。包名可以与其目录不同名。包名为 main 的包为应用程序的入口包,其他包不能使用。包可以嵌套定义,对应的就是嵌套目 ......
go代码interface转map 发布时间: 2022-04-27 11:10:11 评论数: 0
今天遇到一个问题如下代码,我要通过rs去打印出ddd package main import "fmt" func main() { var rs interface{} rss := make(map[string]string) rss["aaa"] = "ddd" rs = rss fmt.Println(rs) } 从上面的代码中我们可以看出来,rs已经是一个map了,但是按照map的打印方式,就是报错 message: 'invalid operation: rs["ddd"] (type interface ......
Go包管理工具godep 发布时间: 2022-04-24 23:36:19 评论数: 0
godep是go的包管理工具 github:https://github.com/tools/godep 安装方式 go get github.com/tools/godep 使用godep包管理工具不能在使用go run和go build,如果直接使用还是会到GOPATH目录下去找第三方库 正确做法 godep go run godep go build 项目目录下执行执行godep save,此时会生成Godeps文件夹,同时会把所需的包放到vendor文件夹中 ......
go语言学习资料 发布时间: 2022-04-22 21:57:04 评论数: 0
最近有在看go语言,网上的资料还不是很多,现在把有用的资料分享一下,发现还有新的资源会持续更新 Go Web 编程 # Go语言圣经(中文版) # Go入门指南 # Go 编程基础(视频) # Go Web基础(视频) # 我还买了本《go 语言实战》刚开始看了两章,感觉还不做 ......
nsq nsqlookupd代码解析(二) 发布时间: 2022-04-20 20:46:05 评论数: 0
nsqlookupd.go Main里主要是侦听两个服务tcp 服务和http 服务 代码片段 github.com\nsqio\nsq\nsqlookupd\nsqlookupd.go func (l *NSQLookupd) Main() { ctx := &Context{l} //监听tcp tcpListener, err := net.Listen("tcp", l.opts.TCPAddress) if err != nil { l.logf(LOG_FATAL, "listen (%s) faile ......
docker linux namespace系统资源隔离 发布时间: 2022-04-18 04:47:52 评论数: 0
linux namespace是Kernel的功能,它会隔离系统的资源,如PID,UTS,IPC,UserID,Network,docker也用到了这部分的内容,下面是go代码只要实现了这功能 package main import ( "log" "os" "os/exec" "syscall" ) func main() { cmd := exec.Command("sh") cmd.SysProcAttr = &syscall.SysProcAtt ......
Mac下搭建go语言开发环境 发布时间: 2022-04-16 03:01:34 评论数: 0
1、安装Golang的SDKhttp://golang.org ,下载最新的安装包,之后双击安装即可。安装完成之后,打开终端,输入go、或者go version(查看安装版本)出现如下信息即表示安装成功:$ go version go version go1.5.1 darwin/amd642、配置环境变量安装完sdk之后接下来便是配置环境变量了,打开终端输入cd ~ 进入用户主目录,之后输入ls -all命令查看是否存在.bash_profile文件,存在既使用vim .bash_profile打开并编辑该文件。根据自己实际情况,内容如下:export GOPATH=/Use ......
GoLang中使用SQLite后跨平台交叉编译之docker篇 发布时间: 2022-04-14 11:50:04 评论数: 0
编译环境: Mac+Docker因为sqlite使用了cGo,所以跨平台编译的时候,需要将相关依赖包也处理一下。这儿推荐使用xgo打包工具,结合Docker。本教程适用于Mac 。当然,另外一个解决方法是,安装不同的虚拟机。分平台打包。安装docker、配置Go环境省略拉取镜像docker pull karalabe/xgo-latest安装打包工具(它的作用就是调用docker镜像中的命令)go get github.com/karalabe/xgo平台参数--targets=linux/arm : builds only the ARMv5 Linu ......
nsq nsqlookupd代码解析(一) 发布时间: 2022-04-12 09:16:46 评论数: 0
之前的文章nsq安装【推荐阅读:nsq消息队列安装测试】,最后执行了./test.sh,这个脚本其实就遍历文件夹build go程序,具体遍历了apps和bench文件夹的程序 这里主要讲nsqlookupd build这个github.com/nsqio/nsq/apps/nsqlookupd/nsqlookupd.go程序 这个文件主要使用了go-svc的包 github地址:https://github.com/judwhite/go-svc 运行一下他的Example我猜测Init方法应该跟init方法等同,之后执行Start方法,当执行关闭的时候执行Stop方法 代码清单g ......
Go语言中利用append巧妙的删除slice切片中的元素 发布时间: 2022-04-10 10:23:28 评论数: 0
数组[a b c],我要删掉第二个元素。余下[a c]注意参数的索引package main import ( "fmt" ) //删除函数 func remove(s []string, i int) []string { return append(s[:i], s[i+1:]...) } func main() { s := []string{"a", "b", "c"} fmt.Println(s) s = remove(s, 1) fmt.Println(s) } ......
go cache2go源码分析 发布时间: 2022-04-07 03:14:16 评论数: 0
今天看了cache2go源码,cache2go是一个用Go实现的并发安全的缓存库,主要是代码量少,学习一下 cache2go github地址: # 从开始使用的代码开始分析 github上有examples目录,写的是使用的demo,examples/callbacks/callbacks.go,我开始从这个文件开始分析 代码清单 1-1 examples/callbacks/callbacks.go 11行 cache := cache2go.Cache("myCache") 使用了cache2go库中的Cache,返回一个CacheTable的地址 代码清单 2-1 cache ......
go 上传EXCEL并解析 发布时间: 2022-04-03 22:37:19 评论数: 0
用php来做文件的上传并解析EXCEL,在实际的开发中是很常见的,比如订单的批量导入,用php也能处理,但在实际的开发中你进程遇到,导入文件只导入版,解析EXCEL只处理了一半,如果不检查数据可能发现不了这个问题,如果用go来做这个功能就大大提高了处理能力 下面是我写的一个测试 使用的是github.com/xuri/excelize来解析EXCEL 安装方式: go get github.com/xuri/excelize package main import ( "fmt" "io" "net/http" "os" "path" "time" ......
go html/template模板输出html 发布时间: 2022-04-01 15:42:09 评论数: 0
我在学习go语言,并且尝试写一个博客,数据库用的还是wordpress的数据库,没有使用go语言的框架,想用原生的go写 在使用html/template 模板包的时候发现没有办法输出html,主要我想把博客的内容输出来,结果显示 html竟然转义了 查看官方的说明文档 官方说明 # 比如你想输出 Hello, <b>World</b>! 网页上源码上会显示 Hello, &lt;b&gt;World&lt;b&gt;! 解决方法 template.HTML("<b>World</b>") 在写的是这段 ......
go语言的iota 发布时间: 2022-03-31 03:30:21 评论数: 0
网上看了看iota.反正是没看大懂.给个例子自己悟吧package main import ( "fmt" ) const ( TestMin = -1 TestA TestB = iota TestC ) func main() { fmt.Printf("TestMin:%d\n", TestMin) fmt.Printf("TestA:%d\n", TestA) fmt.Printf("TestB:%d\n", TestB) fmt.Printf("TestC:%d\n", TestC) }输出结果TestMin:- ......
排序算法入门 — GO 语言实现 发布时间: 2022-03-28 05:40:36 评论数: 0
排序算法是一种采用列表或数组并以特定顺序对其元素进行重新排序的算法。有几十种不同的排序算法,如果你已经学习了计算机科学,那么你至少熟悉了其中的一些算法。 它们也是很受欢迎的面试问题,所以在重要面试前不要因为它而伤心。这是一个大多数常见的排序算法的小型引擎,实例采用 Golang 实现。冒泡排序冒泡排序是最基本的就地排序算法,几乎每个人都很熟悉。 它具有 O(n²) 最坏情况和平均时间复杂度,这使得它在大型列表中效率低下。它的实现非常简单。在循环中,从第一个元素到第 n 个(n = len(items))迭代数组。比较相邻的值,如果它们的顺序错误,交换它们。 您可以通过在每次迭代后将 n 递减 ......
go开发工具推荐 发布时间: 2022-03-26 19:43:01 评论数: 0
程序的开发工具直接影响到开发的效率,下面我来推荐一款go语言的开发工具vs code 之前用sublime+gosublime,感觉不是很好 主要问题 1 代码不提示不全,比如我定义一个struct,struct这个单词不提示 2 我输入一个包不自动加载一个包 3 不能在使用的包上查看包 4 鼠标移到方法上面没有提示 下面我开始介绍vs code 官方网站 # 有人搞了一个中文版 http://www.vscode.org/ 有时候被墙 下面用截图来展示 这些功能大大方便了开发 ......
Go原生支持javascript ajax post跨域请求的方法 发布时间: 2022-03-24 20:07:22 评论数: 0
最近开始入手Go.这儿将平时整理的记录一下.今天的需求是,客户端请求GoServer,然后需要支持跨域.开启贴代码模式func main() { mux := http.NewServeMux() mux.HandleFunc("/lvtao", lvtao) if err := http.ListenAndServe("127.0.0.1:8080", mux); err != nil { //这儿报错 } } func lvtao(w http.ResponseWriter, r *http.Request) { ......
go fmt String接口 发布时间: 2022-03-21 22:44:23 评论数: 0
之前看到一段代码,输出接口让我无法理解,如下 package main import "fmt" type Person struct { Name string Age int } func (p Person) String() string { return fmt.Sprintf("%v (%v years)", p.Name, p.Age) } func main() { a := Person{"Arthur Dent", 42} z := Person{"Zaphod Beeblebrox" ......


友情链接: php5000技术知识分享 github 码云 开源中国 csdn linux中国 阿里云 unix技术网 composer中文网 php packagist php python 安卓软件 大众源码 DevStore 猪八戒威客网 人人都是产品经理 PHPwind论坛 互联网的一些事 新客网 黑马程序员 火星时代 hao123it ThinkSNS 开源社区 51CTO学院 办事儿网 IT论坛 java教程 最代码 程序员客栈 大数据培训 小程序开发 微信小程序 php开发新闻 微信小程序 java学习 微信小程序 Linux书籍 网站ip流量 xw素材网 新浪云 腾讯云 华为云 百度 新浪 网易 淘宝 腾讯 1688 搜狐 优酷 房天下 hao123 携程 天涯社区