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

golang处理 json中非法字符

文: Hi there, I just discovered Go and decided to port a little program to Go. The program reads JSON-Data from an URL and process the Data. The Go port works well till now. I dont have any influence on the JSON data and so sometimes there are control character in it and my program crashes with "invalid character '\x12' in string literal" here the c...阅读全文

博文 2015-03-13 03:00:01 zhangqingping

给终端来点彩色(c语言和Golang版)

如果用过AIX或Linux下的nmon工具的应当会注意到,它可以把文字显示成多种颜色,并巧妙的利用颜色和字符组合出各种图形 来显示系统的运行情况。看看它官网附的这张图: 如果你看过它的源码,你会发现它用的是 Ncurses 库来实现彩色显示的。Ncurses很强大,可以在任何遵循ANSI/POSIX标准的UNIX系统上运行, 包含了一系列强大的功能。 但在这里,它并不是我要研究的对象,它太重量级了。 我想在这说明的是一种简单的可以让终端显示彩色文本的方法。利用16进制的颜色控制符就足以在终端打印出各种颜色了。这种方法不必调用 API,使用方式也很简单,我用c语言演示下: #include int main(void) { printf("\x1b[0;%dmhello w...阅读全文

博文 2014-12-09 17:00:03 xcltapestry

74.根路径总是被访问两次,都是favicon.ico惹出来的

在使用golang做web开发的时候,如果在根路径上直接输出内容,你会发现,你的访问总是被执行 2 次。 根路径的 handler 是这个样子的 func indexHandler(writer http.ResponseWriter, request *http.Request) { tms := time.Now().Format("2006-01-02 15:04:05.00000000") fmt.Println(tms,"Yes you in path: ",) fmt.Fprintln(writer, tms,"你正在访问的路径:index") } 可是执行效果是这样的 服务器显示 服务器显示效果 web界面显示 web界面显示 很显然,这样的服务器显示会对维护人员造成困扰。 这...阅读全文

博文 2018-10-14 00:34:39 厚土火烟

[转]golang压缩加压

压缩文件 package main import ( "fmt" "os" "io" "archive/tar" "compress/gzip" ) func main() { // file write fw, err := os.Create("tar/lin_golang_src.tar.gz") if err != nil { panic(err) } defer fw.Close() // gzip write gw := gzip.NewWriter(fw) defer gw.Close() // tar write tw := tar.NewWriter(gw) defer tw.Close() // 打开文件夹 dir, err := os.Open("file/") if ...阅读全文

博文 2014-10-04 19:27:11 weilai

golang模仿tail命令,显示文件末尾指定行数的文件内容

项目中需要实现读取文件末尾指定行数的功能(类似于tail命令),就去看了一下tail命令的实现思路。然后用go语言按照思路仿写了一下。后面可以结合 https://github.com/fsnotify/fsnotify 实现日志的实时输出功能。类似于 `tail -f xxx.log`效果 ``` package main import ( "bufio" "bytes" "io" "log" "os" "strings" ) func main(){ lines := int64(200) file, err := os.Open("C:\\Users\\Administrator\\Desktop\\test.log") if err != nil { log.Println(err)...阅读全文

博文 2018-02-06 17:06:43 iuoui

golang

Go语言教程 http://yiibai.com/go/ CMD窗口正确显示UTF-8字符 http://www.360doc.com/content/13/0424/13/2569758_280582390.shtml 在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能正确显示文件中的内容。在默认情况下,命令行窗口中使用的代码页是中文或者美国的,即编码是中文字符集或者西文字符集。 如果想正确显示UTF-8字符,可以按照以下步骤操作: 1、打开CMD.exe命令行窗口 2、通过 chcp命令改变代码页,UTF-8的代码页为65001 chcp 65001 执行该操作后,代码页就被变成UTF-8了。但是,在窗口中仍旧不能正确...阅读全文

博文 2015-07-10 03:00:12 mitang

ldd、objdump、nm、strings、strip等工具

最近在做Docker镜像的时候发现镜像文件非常大,需要找出程序的依赖库,减少程序的大小,所以整理了一下相关的工具。基本上这些工具都在GNU Binutils中。 GNU Binary Utilities或binutils是一整套的编程语言工具程序,用来处理许多格式的目标文件。当前的版本原本由在Cygnus Solutions的程序员以Binary File Descriptor library(libbfd)所撰写。这个工具程序通常搭配GCC、make、和GDB这些程序来使用。 它包含20个左右的工具,本文介绍了我在创建Docker镜像的时候的使用的几种工具。 ldd ldd不是GNU Binutils工具集中的一个工具,但是却是一个非常有用的工具, 它可以显示程序或者共享库所需的共享库。 ...阅读全文

博文 2018-09-01 17:08:44 smallnest

golang 文件服务器

在go语言中可以用一句代码做一个文件服务器。如果有很多文件需要通过网页来供其他人下载,可以使用这个方法。 package main import ( "log" "net/http" ) func main() { // 注意斜杠! http.Handle("/public/", http.StripPrefix("/public/", http.FileServer(http.Dir("public")))) // 正确 //http.Handle("/", http.FileServer(http.Dir("public"))) // 正确(访问根目录时转到public目录) //http.Handle("/public", http.StripPrefix("/public", htt...阅读全文

博文 2016-11-03 11:00:02 ibgo

go的临时对象池--sync.Pool

一个sync.Pool对象就是一组临时对象的集合。Pool是协程安全的。Pool用于存储那些被分配了但是没有被使用,而未来可能会使用的值,以减小垃圾回收的压力。一个比较好的例子是fmt包,fmt包总是需要使用一些[]byte之类的对象,golang建立了一个临时对象池,存放着这些对象,如果需要使用一个[]byte,就去Pool里面拿,如果拿不到就分配一份。这比起不停生成新的[]byte,用完了再等待gc回收来要高效得多。 type buffer []byte // pp是用于存储printer状态的一个结构体 type pp struct { buf buffer arg interface{} value reflect.Value fmt fmt reordered bool goodA...阅读全文

博文 2017-03-07 08:36:36 bigtom

兄弟连区块链培训分享Go语言压缩与解压

2018年第一季度,区块链相关人才的招聘需求已达到2017年同期的9.7倍,发布区块链相关岗位的公司数量同比增长4.6倍。 兄弟连教育Go全栈与区块链培训课程是由清华、微软和谷歌名师历时半年时间研发出的独一无二的体系化课程。压缩文件package mainimport ( "fmt" "os" "io" "archive/tar" "compress/gzip")func main() { // file write fw, err := os.Create("tar/lin_golang_src.tar.gz") if err != nil { panic(err) } defer fw.Close() // gzip write gw := gzip.NewWriter(fw) defe...阅读全文

博文 2018-08-29 16:35:06 兄弟连区块链培训

Golang构建一个文件资源服务

利用 Golang 构建一个简单的静态资源服务,在应用调试时还是非常有用的,核心的方法使用 http.FileServer 来实现,不过原生 golang 的文件服务时不支持隐藏文件目录列表的,这样可能会带来一些安全隐患; 今天我就介绍下通过 Orange框架通过路由绑定静态资源目录实现一个文件服务; 第一步: 在 GOPATH/src 目录下创建一个目录,然后目录中创建main.go文件; 文件内容: package main import "gitee.com/zhucheer/orange/app" func main(){ router := &Route{} app.AppStart(router) } type Route struct { } func (s *Route) S...阅读全文

博文 2020-06-28 18:33:04 施主6