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

golang中os/exec包用法

exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (string, error) //LookPath在环境变量中查找科执行二进制文件,如果file中包含一个斜杠,则直接根据绝对路径或者相对本目录的相对路径去查找 func main() { f, err := exec.LookPath("ls") if err != nil { fmt.Println(err) } fmt.Println(f) // /bin/ls } type Cmd //表示一个正在准备或者正在运行的外部命令 type Cmd struct { Path string //运...阅读全文

博文 2015-06-17 20:02:21 chenbaoke

golang中archive/zip包用法

archive/zip包提供了zip归档文件的读写操作。 在对zip包进行介绍之前,先说明一下zip和tar的区别。 二者都是对文件进行归档,不进行压缩。并且二者使用平台不同,对于 Windows 平台而言,最常用的格式是 zip 和 rar,国内大多数是用 rar,国外大多数是用 zip。而对于类 Unix 平台而言,常用的格式是 tar 和 tar.gz,zip 比较少一些,rar 则几乎没有。 zip 格式是开放且免费的,所以广泛使用在 Windows、Linux、MacOS 平台,要说 zip 有什么缺点的话,就是它的压缩率并不是很高,不如 rar及 tar.gz 等格式。 严格的说,tar 只是一种打包格式,并不对文件进行压缩,主要是为了便于文件的管理,所以打包后的文档大小一般远远...阅读全文

博文 2015-11-12 23:00:03 chenbaoke

Go 字符串编码,Unicode 和UTF-8

1.字符串字符串在Go语言中以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、bool、 float32、foat64等)一样。 字符串的值为双引号中的内容,可以在Go语言的源码中直接添加非ASCⅡ码字符 Go语言的字符串常见转义符包含回车、换行、单双引号、制表符等,如下所示 转移符 含义 \r 回车符(返回行首) \n 换行符(直接跳到下一行的同列位置) \t 制表符 \' 单引号 \" 双引号 \\ 反斜杠 2.字符串实现基于UTF-8编码 go 语言里的字符串的内部实现使用UTF8编码. 通过rune类型,可以方便地对每个UTF-8字符进行访问。 当然,Go语言也支持按传统的ASCII码方式进行逐字符访问。 3.字符 字符串中的每一个元素叫做“字符”,在遍历或者单个获取字...阅读全文

博文 2019-06-01 23:04:38 nicce

Go 语言编译运行的小问题

载:http://c2pblog.sinaapp.com/archives/355 简单谈一谈Go语言的编译运行。 golang 和C/C++都是编译型的语言,首先要写好源文件,然后编译,最后运行。这几天在用IDE的时候一直都是一键运行的,没有怎么好好理解编译和运行之间的区别。而在Linux下面则出现了一些小问题不得不重新思考这个区别。虽然说golang编译速度很快,但是我们实际使用的时候必须是要用可执行文件的,你给我一个源代码是没有意义的,而在实际项目中,你的代码会跑在很多机子上面,每一分钟都会运行很多很多次,然后这种情况下如果你在编译的时候都会浪费掉时间的话,那么这个成本将会很大。于是我们必须做一些对应的处理,将golang源文件先编译成可执行文件,然后直接在使用的时候去执行就好。 这时...阅读全文

博文 2015-03-13 10:00:02 yugongpeng_blog

除了写代码,还有诗和远方

**除了写代码,还有诗和远方** --- ![1.jpg-80.9kB][1] **“生活不止眼前的苟且** **还有诗和远方的田野** **你赤手空拳来到人世间** **为找到那片海不顾一切”** 许巍联袂高晓松的这首“生活不止眼前的苟且”最近已经红遍各大朋友圈。这首歌虽然不是许巍歌曲中最具有代表性的一曲,只因为这四句直戳人心也已足够。 苟且生活的人,最后也将被生活抛弃。 --- 程序员,在我心中一直不是一个苟且的工作。 朝九晚五的工作,对于程序员基本是不现实的。 我们,早上上班看得见朝阳升起,晚上下班看不见北京堵车。 虽然各家咨询机构都提到过程序员的薪资在随着入行时间的增长,而不断提升。但是面对北上广深飞速攀升的房价...阅读全文

正则表达式

匹配纯文本 Ben Hello, my name is Ben. Please visit my website at http://www.forta.com. 匹配任意字符(默认模式不匹配\n,单行模式可以匹配\n) a.c abc acc a2c.a.\.xls na1.xls na2.xls前面两个点任意字符 ,最后一个转义点, . 和 \ 等都叫做元字符(metacharacter),表示这个字符有特殊含义,而不是字符本身的含义,如果我们要匹配元字符的话,我们需要对元字符进行转义 [] 字符集,对应位置可以是字符集中的任意字符,字符集中的字符可以逐个列出,也可以给出范围,如[abc]或[a-c] ,第一个字符如果是^则表示取反,如[^abc];所有特殊字符在字符集中都失去原有的特殊...阅读全文

博文 2018-12-01 00:34:42 越塔打哭你

赞比学堂白皮书V1.0

赞比学堂,让知识就是力量(Knowledge is power.),在你身上得以验证!1、摘要: 互联网时代,人们已经不满足于仅仅只有工资收入,更多的人尤其喜欢利用空闲时间来通过线上课程学习来发展副业,做斜杠青年。区块链时代,使每个人付出的时间精力和注意力,能更容易的得到应有的回报。知识付费时代,人人都愿意为打造更好的自己,或者说是为更有竞争力的自己付费,投资。逆水行舟,不进则退。保护你的注意力;解决,知识学了那么多,还是变不成我自己的力量;挖掘你自我成长的潜能。2、 行业背景及痛点:2.1作为学习者,学习平台琳琅满目,课程目不暇接,选择恐惧;另外,学了,但是变不成自己的知识,自己的知识无法发挥效力。2.2作为课程发布者,平台分润太高,自己的付出被克扣,心有不甘;学生学完后,是否用的上,应用...阅读全文

博文 2018-10-08 01:34:42 贾传宝

2020开篇:请花2分钟了解我

每个人生来都很平凡,但平凡的出生,有些人却活出了不平凡的人生。 我是 funnylu,请从现在开始,了解我。 90后 有人说,90 后是不务正业的一代; 有人说,90 后是新时代的弃儿; 不论是曾经的杀马特,还是如今的主播、网红,都在加深人们对90后偏见的印象。 我们 90 后真的很努力,我们的第一代已经跨入了 30 岁的大门,承担这赡养父母,下顾小孩,还着房贷车贷,每个月省下零星的零花钱,想着赚钱的大梦。 真的,我们都很努力,不管你信不信,我们都喜欢赚钱的生活,喜欢自由的生活。 当然,我不代表 90 后,但是我很努力,偶尔发呆的时候也在思考人生,也喜欢读书,也喜欢旅行。 看着现在互联网的高速发展,我们也慢慢进入了更快的发展节奏,毕竟现在很多互联网公司的高层开始越来越年轻化。我喜欢研究代码,...阅读全文

博文 2020-01-15 09:33:29 luhanlin

OC中怎么注释自己创建的方法?

在程序开发中,我们经常需要对代码进行注释,那对于iOS初学者而言,使用objective-c语言进行应用开发的时候,如何对方法进行注释呢?今天小编为大家分享的就是这部分知识,不清楚的亲,一起来看看吧。 在iOS应用开发中,对自己创建的方法进行注释,这与编写java代码时的注释javadoc类似,可以自动形成规范性的方法说明。 我们对方法进行注释时,最需要说明的就是方法的作用、方法的参数以及方法返回的结果,所以这里也只说这三个标签,其实很简单,如下所示: /** * @brief 通过两个参数请求一个结果. * * @param valueOne 第一个参数. * @param valueTwo 第二个参数. * * @return 返回结果. *...阅读全文

如何写 go 中间件

编写 go 中间件看起来挺简单的,但是有些情况下我们可能会遇到一些麻烦。 让我们来看一些例子。 ## 读取请求 我们例子中的所有中间件都会接收一个 `http.Handler` 作为参数,并返回一个 `http.Handler` 。 这样便于将中间件链接起来。我们所有的中间件将会遵循如下基本模式: ```go func X(h http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // Something here... // 这里还有一些其他信息 h.ServeHTTP(w, r) }) } ``` 假设我们想要将所有请求重定向到一个末尾斜杠(例...阅读全文

博文 2018-05-10 21:36:47 SergeyChang

golang标准库之path

path实现了对斜杠分隔("/")的路径的实用操作函数。 package main import ( "fmt" "path" ) func main() { // func IsAbs(path string) bool // IsAbs返回路径是否是一个绝对路径 fmt.Println(path.IsAbs("/dev/null")) // true // func Split(path string) (dir, file string) // Split函数将路径从最后一个斜杠后面位置分隔为两个部分(dir和file)并返回。如果路径中没有斜杠,函数返回值dir会设为空字符串 fmt.Println(path.Split("http://static\\myfile.css")) /...阅读全文

博文 2019-10-02 09:32:46 aside section ._1OhGeD

《Golang 入门系列四》golang的基本数据类型

前言:在 Go 编程语言中,数据类型用于声明函数和变量。数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。 一、数字类型 有符号整数采用2的补码形式表示,也就是最高bit位用来表示符号位,一个n-bit的有符号数的值域是从-2^{n-1}−2​n−1​​到2^{n-1}-12​n−1​​−1。无符号整数的所有bit位都用于表示非负数,值域是0到2^n-12​n​​−1。例如,int8类型整数的值域是从-128到127,而uint8类型整数的值域是从0到255。 1.1 整型 序号 类型和描述 1 uint8: 无符号 8 位整型 (0 到 255) 2 uint16: 无符号 16 位整型 (0 到 65535) 3 ui...阅读全文

博文 2018-02-28 23:33:10 IT--小哥

golang os/exec 执行外部命令

exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (string, error) //LookPath在环境变量中查找科执行二进制文件,如果file中包含一个斜杠,则直接根据绝对路径或者相对本目录的相对路径去查找 1. func main() { 2. f, err := exec.LookPath("ls") 3. if err != nil { 4. fmt.Println(err) 5. } 6. fmt.Println(f) // /bin/ls 7. } type Cmd //表示一个正在准备或者正在运行的外部命令 1. type Cmd ...阅读全文

博文 2019-04-27 08:34:42 佛心看世界

windows server上 gorm 连接DB提示 the system cannot find the path specified

友情提示:window server上很容易就踩坑 1. 背景 语言:golang ORM: gorm 运行环境: Windows server 1. 起因 因为外在因素,不得不在Windows server上跑程序,然后就直接在在初始化DB连接时失败了,返回的error是the system cannot find the path specified。这里其实是有点奇怪的,这提示似乎指的是本地文件路径问题,但DB配置是已经读取成功的,连接也是连接远端DB,并没有读取本地文件操作? 2. 查 顺着链路往下查,在gorm.open报错,查到是parseDsn失败,但同样的程序和dsn在本地电脑运行并没有问题。 继续往下,看到parseDsn里的parseDSNParams里其中有个地方调用t...阅读全文

博文 2019-08-18 05:32:49 HollowKnight

go语言的os.exec包介绍

载自:http://www.unjeep.com/q/586059486.htm exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (string, error) //LookPath在环境变量中查找科执行二进制文件,如果file中包含一个斜杠,则直接根据绝对路径或者相对本目录的相对路径去查找 func main() { f, err := exec.LookPath("ls") if err != nil { fmt.Println(err) } fmt.Println(f) // /bin/ls } type Cmd //表示一个正在准备或者正在...阅读全文

博文 2016-04-21 19:00:02 kuoshuang

JSON 序列化中的转义和 Unicode 编码

本文比较完整地整理一下 JSON 编码中的转义,以及 JSON 对 Unicode 编码的处理。 其实这是我上一篇文章的姊妹篇。在研究 Unicode 颜文字的时候,由于我们的数据传输是通过 JSON 串来完成的,在对颜文字进行转码传输的过程中,也发现了一个问题。解决问题之后,便有了本总结文。 JSON 中的普通转义字符 个人认为,JSON 是目前针对程序员而言可读性(readability)最佳的数据传输格式之一,并且 JSON 完整地考虑到了数据传输中的转义,避免出现各种注入风险。当对 JSON 进行序列化操作时(Go 中称为 marshal),根据 JSON 标准的说明,需要对字符串中的以下字符进行转义: 符号 名称 转义后的字符串 " 双引号 \" / 斜杠 \/ \ 反斜杠 \\ ...阅读全文

Go语言核心技术(卷一)之2.5-字符串

字符串是不可变的字节序列,虽然可以包含任意数据,包括0这个字节,不过字符串通常是用来包含可读性较强的文本。文本字符串通常采用UTF-8编码,由Unicode码点(rune)组成。 内置的len函数会返回字符串的所有字节(byte)数(注意不是rune的数目!!一个rune可能包含多个字节),下标操作s[i]可以获取字符串的第i 个字节(从0开始), 其中i >= 0 并且 i < len(s):s := "hello, world" fmt.Println(len(s)) // "12" fmt.Println(s[0], s[7]) // "104 119" ('h' and 'w') 访问索引边界外的字节会造成运行时panic:c := s[len(s)] // panic: index...阅读全文

博文 2016-03-17 20:00:02 abv123456789

Golang 1.10 前瞻

Golang 1.10 beta 今天正式 release 了,Golang 1.10 正式发布将在 2018 年 2 月份,我们不妨先来看一下 1.10 的特性。大家可以从这个链接 go1.10 beta ( http://link.zhihu.com/?target=https%3A//golang.org/dl/%23go1.10beta1 ) 进行下载安装。验证输出如下就是安装成功了。 ➜ ~ go version go version go1.10beta1 darwin/amd64 如果你现在机器上已经安装了其他版本,可以通过下面方式来体验。 $ go get golang.org/x/build/version/go1.10beta1 $ go1.10beta1 downloa...阅读全文

博文 2017-12-10 02:11:02 尼不要逗了

golang1.1 path包bug

func Dir(path string) string Dir returns all but the last element of path, typically the path's directory. After dropping the final element using Split, the path is Cleaned and trailing slashes are removed. If the path is empty, Dir returns ".". If the path consists entirely of slashes followed by non-slash bytes, Dir returns a single slash. In any...阅读全文

博文 2014-10-04 19:26:10 rufidmx

怎么设置paybob的微信jsapi支付目录

设置方法非常简单,首先你得是 [paybob](https://www.paybob.cn) 的有效开通用户,在后台菜单-系统设置-JSAPI目录设置,在右侧填写支付目录即可。 三种设置实例: - 1.比如支付页面url是: http://www.xxx.com/paybob/pay.php - 1.支付目录则填写: http://www.xxx.com/paybob/ - 2.比如支付页面url是: http://www.xxx.com/paybob/order/id/100.html - 2.支付目录则填写: http://www.xxx.com/paybob/order/id/ - 3.比如支付页面url是: http://www.xxx.com/paybob/order?id=100...阅读全文

博文 2019-08-07 18:26:38 paybob

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语言核心之美 2.5-字符串

版权声明:本文为Sunface(孙飞)原创文章,转载请注明出处 https://blog.csdn.net/abv123456789/article/details/50907392 字符串是不可变的字节序列,虽然可以包含任意数据,包括0这个字节,不过字符串通常是用来包含可读性较强的文本。文本字符串通常采用UTF-8编码,由Unicode码点(rune)组成。 内置的len函数会返回字符串的所有字节(byte)数(注意不是rune的数目!!一个rune可能包含多个字节),下标操作s[i]可以获取字符串的第i 个字节(从0开始), 其中i >= 0 并且 i < len(s):s := "hello, world" fmt.Println(len(s)) // "12" fmt.Println...阅读全文

博文 2019-03-17 13:12:31 erlib

golang url 链接地址解析包

golang url 链接地址解析包 url 编码 QueryEscape 将字符地址转为安全地址 func QueryEscape(s string) string p := url.QueryEscape("/user?id=12") // >>> %2Fuser%3Fid%3D12 QueryUnescape 还原QueryEscape 转码 func QueryUnescape(s string) (string, error) URL 类型 URL 结构 type URL struct { Scheme string Opaque string // 编码后的不透明数据 User *Userinfo // 用户名和密码信息 Host string // host或host:port...阅读全文

博文 2019-06-07 05:32:39 直立猿

golang标准库之path/filepath

package main import ( "fmt" "os" "path/filepath" ) func WalkFunc(path string, info os.FileInfo, err error) error { fmt.Println("File:", path, "IsDir:", info.IsDir(), "size:", info.Size()) return nil } func main() { // func IsAbs(path string) bool // IsAbs返回路径是否是一个绝对路径 fmt.Println(filepath.IsAbs("/dev/null")) // false // func Abs(path string) (strin...阅读全文

博文 2019-10-01 16:32:45 aside section ._1OhGeD

Go语言 Web开发(3)HTTP基础流程分析(下)

在Go语言的http包中有两个核心的功能:Conn,ServeMux。 Conn的goroutine 之前我们说过用户的每一次请求Conn都是在一个新的goroutine去处理,相互不影响,不会被阻塞,这就是Go的高并发的体现。在 func (srv *Server) Serve(l net.Listener) error 函数中有这样的描述 Serve accepts incoming connections on the Listener l, creating a new service goroutine for each. 具体代码如下: c := srv.newConn(rw) c.setState(c.rwc, StateNew) // before Serve can ret...阅读全文

博文 2018-08-23 05:34:43 小杰的快乐时光

(go) 上传文件elipse专用

package main import ( "bufio" "io" "log" "os" "os/exec" "strings" "time" ) const ( filename = "c:\\myetc\\remote.etc" dotfilename = "c:\\myetc\\.filename" ) func main() { var servicefilepath string var serviceIP string var passwd string var serviceusername string var port string var spath string var sfilename string var splitstrings []string //打开之前...阅读全文

博文 2016-03-09 02:00:00 zistxym

PhalGo-Echo路由

PhalGo-Echo路由 Echo官网地址:https://labstack.com/echo Echo是PhalGo最核心的组件,负责了整体的请求路由返回等功能,并且Echo支持HTTP2协议以及HTTPS协议 为什么选择Echo 在初期笔者考虑过Echo,gin以及beego来尝试实现自己的项目,最终还是选择了使用Echo来作为PhalGo的主要路由框架 让我决定的因素是应为Echo支持使用fasthttp所以在效率上面基本其他框架没法比(笔者是个性能狗),我们可以看一下Echo官方的性能图 机器配置: Go 1.6 wrk 4.0.0 2 GB, 2 Core gin相对来说更人性化一些beego相对更简单易用一些感兴趣的可以尝试一下 注册路由 在PhalGo中所有的组件需要使用都需...阅读全文

博文 2017-02-10 13:53:01 喵了个咪_

Go语言核心之美 2.5-字符串

字符串是不可变的字节序列,虽然可以包含任意数据,包括0这个字节,不过字符串通常是用来包含可读性较强的文本。文本字符串通常采用UTF-8编码,由Unicode码点(rune)组成。 内置的len函数会返回字符串的所有字节(byte)数(注意不是rune的数目!!一个rune可能包含多个字节),下标操作s[i]可以获取字符串的第i 个字节(从0开始), 其中i >= 0 并且 i < len(s):s := "hello, world" fmt.Println(len(s)) // "12" fmt.Println(s[0], s[7]) // "104 119" ('h' and 'w') 访问索引边界外的字节会造成运行时panic:c := s[len(s)] // panic: index...阅读全文

博文 2017-10-27 20:58:43 erlib

golang编程进阶技巧

对最近使用到的技巧做一个汇总。使用反斜杠处理较长的字符串,省去手动转义,简洁又节省时间。 反斜杠的使用 类型转换。 类型转换一步到位 GC优化。 gc优化 go数组是值类型,如果想避免数据复制,可以改用指针或切片。给函数添加方法,调用自己。 函数属性 匿名接口的使用。 匿名接...阅读全文

博文 2019-08-28 01:32:45 飞刀无痕

什么是URI,URL,URN?以及golang实现

URI:Uniform Resource Identifier,统一资源标识符; URL:Uniform Resource Locator,统一资源定位符; URN:Uniform Resource Name,统一资源名称。 其中,URL,URN是URI的子集。URI:Uniform Resource Identifier,统一资源标识符; URL:Uniform Resource Locator,统一资源定位符; URN:Uniform Resource Name,统一资源名称。 其中,URL,URN是URI的子集。URI:Uniform Resource Identifier,统一资源标识符; URL:Uniform Resource Locator,统一资源定位符; URN:Unifo...阅读全文

博文 2018-07-02 21:35:44 暮色伊人

go语言1

go的基本命令: go run 快速执行go文件 go build 编译程序 go install 安装可执行文件到bin go test 执行单元测试 go env 显示go环境变量 go fmt 格式化源代码 go 语言: package main //双斜杠为注释,package要放在第一行 import ( //导入fmt包 "fmt" ) func main() { // 在同一个目录下,只允许有一个main包 main函数 fmt.Print("hello world") \\ 打印输出 fmt.Printf("hello world, %d\n",100) \\带有占位符的答应 fmt.Println("hello world") var a int \\定义变量a为int类型...阅读全文

博文 2019-04-01 10:31:03 qq_36811322

Go语言基础 - 基本数据类型

一、基本数据类型 1. 整型 uint8也就是byte型 无符号整型 取值范围 uint8 0 到 255 uint16 0 到 65535 uint32 0 到 4294967295 uint64 0 到 18446744073709551615 int16对应C语言中的short型,int64对应C语言中的long型 有符号整型 取值范围 int8 -128 到 127 int16 -32768 到 32767 int32 -2147483648 到 2147483647 int64 -9223372036854775808 到 9223372036854775807 a. 特殊整型 在使用int和uint类型时,不能假定它是32位或64位的整型,而是考虑int和uint可能在不同平台上...阅读全文

博文 2020-04-08 22:32:41 不留烦

Golang之旅3-基本数据类型

基本数据类型 GO语言中的数据类型十分丰富,包含:整型、浮点型、布尔型,还有数组、切片、结构体、函数、map、通道chanel等 go基本数据类型 整型 无符号整型 uint8:,0到255 uint16:,0到65535 uint32 uint64 有符号整型 int8:-128到127 int16:-32768到32767 int32 int64 其他数字类型 uint:32/64位系统上就是uint32/uint64 int:32/64位系统上就是int32/int64 uintptr:无符号整型,用于存放一个指针 注意: 在使用int和 uint类型时,不能假定它是32位或64位的整型,而是考虑int和uint可能在不同平台上的差异。 获取对象的长度的内建len()函数返回的长度可以...阅读全文

博文 2019-10-19 01:32:43 aside section ._1OhGeD

Go语言中基本数据类型初识

在Go语言中常用的基本数据类型有如下几种: 整型 浮点型 布尔类型 复数 字符串 整型 有符号 int8 int16 int32 int64 无符号 uint8 uint16 uint32 uint64 特殊整型 uint,32位操作系统就是uint32,64位操作系统就是uint64 int,32位操作系统就是int32,64位操作系统就是int64 uintptr,无符号整型,用于存放指针 注意:在使用int和 uint类型时,不能假定它是32位或64位的整型,而是考虑int和uint可能在不同平台上的差异。 进制 // 程序入口 func main() { // age = "17" // fmt.Println("Hello World") // fmt.Print("isOK") ...阅读全文

博文 2020-03-16 00:33:14 Uncle_Joker