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

go build和go install的区别

go build通过go build加上要编译的Go源文件名,我们即可得到一个可执行文件,默认情况下这个文件的名字为源文件名字去掉.go后缀。 $ go build hello.go $ lshello hello.go 当然我们也 可以通过-o选项来指定其他名字: $ go build -o mygo hello.go $ lsmygo hello.go 如果我们在go-examples目录下直接执行go build命令,后面不带文件名,我们将得到一个与目录名同名的可执行文件: $ go build $ lsgo-examples hello.go go install与build命令相比,install命令在编译源码后还会将可执行文件或库文件安装到约定的目录下。 go install编译...阅读全文

golang 获取当前路径和上一级父路径(目录)

golang 获取当前路径和上一级父路径(目录) package main import ( "fmt" "log" "os" "path/filepath" "strings" ) func substr(s string, pos, length int) string { runes := []rune(s) l := pos + length if l > len(runes) { l = len(runes) } return string(runes[pos:l]) } func getParentDirectory(dirctory string) string { return substr(dirctory, 0, strings.LastIndex(dirctory, "...阅读全文

博文 2015-06-17 20:03:59 kuzuozhou

Golang项目目录结构组织

其实golang的工程管理还是挺简单的,完全使用目录结构还有package名来推导工程结构和构建顺序。 当然,首先要说的是环境变量$GOPATH,项目构建全靠它。这么说吧,想要构建一个项目,就要将这个项目添加到$GOPATH中,多个项目用";"分隔。 Golang项目目录下一般有三个子目录: src存放源代码 pkg编译后生成的文件 bin编译后生成的可执行文件 我们重点要关注的其实就是src文件夹中的目录结构。 举个例子比啥都强,目录结构如下: |-- |-- |-- |--al.go |-- |--a2.go |-- |--b1.go |--b2.go |-- |--c.go |-- |-- 各文件代码: a1...阅读全文

Go中使用动态库C/C++库

最近需要做一些在go中使用动态C++库的工作,经常碰到找不到动态库路径这种情况,所以就花点时间,专门做一下实验来了解Go。 一、示例代码目录结构(假设代码根目录为/home/gdc/cgotest): ----|bin: ----|pkg ----|src --------|main ------------|main.go --------|oidb ------------|hello ----------------|hello.go: ----------------|api.h ------------|lib ----------------|libapi.so 二、代码 api.h文件内容: #ifndef __API_H__ #define __API_H__ void he...阅读全文

博文 2014-10-16 11:00:11 xiaogugood

新手问题 go build 找不到 go source files

mac环境,在项目目录下 go build ,显示“can't load package: package .: no buildable Go source files in /Users/xxxx/Documents/goworkspace/test/calcproj” 项目目录:/Users/xxxx/Documents/goworkspace/test/calcproj 目录下有 bin /pkg/src目录 ,src下有calc.go (包含main函数) $ echo $GOPATH /Users/xxxx/Documents/goworkspace/test/calcproj/ go install 也是同样的问题,找不到 Go s...阅读全文

用 golang 1.11 module 做项目版本管理

go 1.11 有了对模块的实验性支持,大部分的子命令都知道如何处理一个模块,比如 run build install get list mod 子命令,第三方工具可能会支持的晚一些。到 go 1.12 会删除对 GOPATH 的支持,go get 命令也会变成只能获取模块,不能像现在这样直接获取一个裸包。 可以用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。 GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。 GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。 GO111MODULE=auto 在...阅读全文

博文 2018-07-30 23:34:50 yesuu

golang 建临时文件目录以及删除

package main import ( "fmt" "os" "path/filepath" "strings" ) func destorytemp(path string) { filepath.Walk(path, func(path string, fi os.FileInfo, err error) error { if nil == fi { return err } if !fi.IsDir() { return nil } name := fi.Name() if strings.Contains(name, "temp") { fmt.Println("temp file name:", path) err := os.RemoveAll(path) if err !=...阅读全文

博文 2015-04-07 03:00:05 rojas

Install go1.5 for CentOS7

https://golang.org/doc/install 下载好后,通过FTPS,传递到Linux里去,放哪里随便你自己,因为被墙了,所以在Windows通过旋风下载了这个玩意儿。 你也可以: wget https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz //将go解压到/opt,个人喜好罢了 [root@localhost ~]# tar -C /opt -xzf ./go1.5.linux-amd64.tar.gz /*在末尾增加一下两行, GOPATH是工作目录, GOROOT表示指出go的根目录位置 ps:在自定义程序的安装位置后,需要设置这个 export GOROOT=/opt/go export PA...阅读全文

博文 2015-08-29 03:00:00 rootarvin

Go 导入当前项目下的包

其实和其他语言很类似 import ( "../controllers" //这里就是导入上一级目录中的controllers "./models" //同一级目录中的models "./models/entitys" //当前目录下的entitys "../../routers" //上两级目录的routers ) 当然也可以把写好的组件放入$GoPath的src中,这样就不需要关心目录是哪一层,只需要类似这样调用就好了: import ( "myproject/controllers" //这里就是自己项目的名字+包名 ...阅读全文

博文 2017-01-24 03:00:03 KelvinQ

Go语言(log4go介绍)

今天来介绍一个Go语言中常用的日志第三方包,即log4go。在C++中,有log4cpp,而在Java中,有log4j。 好了,废话不多说,现在就来介绍log4go的使用。在log4go在github上的链接如下 链接:https://github.com/skoo87/log4go 具体用法可以参考examples文件夹,而且配置文件采用JSON的格式。一个典型的例子如下 log.json: { "LogLevel" : "info", "FileWriter" : { "LogPath" : "log-%Y%M%D.log", "On": true }, "ConsoleWriter" : { "On" : true } } main.go: package main import ( ...阅读全文

博文 2015-06-17 23:01:52 ACHelloWorld

Mac+Sublime+Golang 环境配置所学

关于环境变量: GOPATH是一个路径列表,类似于PATH的设置: GOPATH=/home/USER/go:/home/USER/workspace_go:***在你建好工作空间后,即可开始配置GOPATH了(配置文件是~/.bash_profile)。export GOPATH=/Users/用户名/go:/Users/用户名/Documents/workspace/workspace_go在mac下设置环境变量: 1,打开 应用程序 -> 实用工具 -> 终端;2,在终端中定位到自己用户的主目录,输入: cd ~ ;3,创建一个空文件,输入:touch .bash_profile ;4,编辑这个文件,输入:open .bash_profile ;5,在这个文件中输入:export PA...阅读全文

博文 2014-10-09 16:00:01 guidovanrossum

go语言遍历目录中的文件

package main import ( "fmt" "io/ioutil" "os" // "path/filepath" // "strings" ) var ( files []string ) //获取指定目录下的所有文件和目录 func ListDir(dirPth string) ( err error) { //fmt.Println(dirPth) dir, err := ioutil.ReadDir(dirPth) if err != nil { return err } PthSep := string(os.PathSeparator) // suffix = strings.ToUpper(suffix) //忽略后缀匹配的大小写 for _, fi := rang...阅读全文

博文 2015-12-22 10:00:04 woquNOKIA

go语言-使用swig转化C++代码为go所用

服务端的某个项目,要考虑到性能问题,之前使用基于公司框架的php,性能有瓶颈,经过调研,决定使用go。因为之前有一个关键模块已经使用c++实现,所以计划使用go做HTTP容器,让go和c++模块结合起来。 在网上调研结合方案,go自带的cgo只支持c语言,swig工具可以支持多种语言结合c++,所以决定使用swig,这里简要叙述下swig的使用和一些发现的要点。 1. 我们解压了swig后,首先要根目录运行configure和make,这样会生成各个子目录的makefile,并在当前目录生成preinst-swig.in和swig可执行文件,这些在后续会拥有。 2. 我们进入Example的go里面,这里有一些值得参考的例子 3. 研究那个class例子,有这几个文件: class.cxx和...阅读全文

博文 2015-06-17 23:01:50 linux4fun

iOS和Android的开发库 Gomobile

Gomobile是一个应用于iOS和Android的优秀跨平台开发库,为开发者提供用于创建Android和iOS 移动平台代码的工具。 ### 环境设置 我们需要Go 1.5及以上版本(版本越高越好)。  然后,我们需要安装Gomobile:

go get golang.org/x/mobile/cmd/gomobile
注:该命令可能需要几分钟的时间。 至于构建Java代码,你则需要Android SDK,并安装Java(OpenJDK就够了)。 [下载](https://developer.android.com/sdk/index.html#...阅读全文

开源项目 2016-03-15 16:00:00 golang

Windows 平台安装配置Golang语言环境

环境介绍: OS: Windows 7 sp1 Arch:x86_64 Golang Ver:Go 1.4.2 amd64 1、下载Golang语言安装包: Go 由Google于2009年开发释出,一种开放源代码的语言。github: golang/go。可以直接在这上面找到释出的源代码(其实也只是供源代码下载,没有做成安装包),将源代码编译即可使用。也可以找到Go的中文论坛:http://www.golangtc.com/,在这里可以找到Go的windows安装包(.msc)。 这里我使用了Go 1.4.2版本,下载路径:http://www.golangtc.com/download 2、在windows下安装Golang: 下载到.msc安装包后,双击安装即可,傻瓜式安装。 3、配置...阅读全文

博文 2015-12-08 20:00:01 u012842205

beego上传文件

html代码:

<input id="myfile" name="myfile" type="file" /> <input type="submit" value="保存" />
beego代码: func (this *ServiceController) Upload() { f, h, _ := this.GetFile("myfile") //获取上传的文件 path := SDPATH + h.Filename //文件目录 f.Close() //关闭上传的文件,不然的话会出现临时文件不能清除的情况 this.SaveToFile("myf...阅读全文

博文 2016-04-16 03:00:03 vipstone

go语言Makefile

一般通用形式 include $(GOROOT)/src/Make.$(GOARCH) TARG=mypackage GOFILES=/ my1.go/ my2.go/ include $(GOROOT)/src/Make.pkg 其中GOROOT和GOARCH为环境变量,分别表示go的安装根目录和本机的体系结构 我的设置是 export GOROOT=$HOME/go export GOARCH=386 export GOOS=linux TARG是目标文件 GOFILES是源代码文件列表 如果生成的文件不是lib,是可执行文件,则将上面最后一行中的Make.pkg换成Make.cm...阅读全文

博文 2015-06-17 23:05:44 dux003

sqlite3安装问题

我按照[http://my.oschina.net/Obahua/blog/129689][1] [1]: http://my.oschina.net/Obahua/blog/129689 上的说明下载sqlite-dll-win32-x86-3080200.zip解压到system32文件夹中,然后安装TMD 版的 GCC 编译器tdm-gcc-4.8.1-3.exe在c盘根目录,路径也设置好,最后go get github.com/mattn/go-sqlite3,这是出现错误cc1.exe: error: unrecognized command line option "-fno-stack-protector",运行下实例也是出现这个错误,这是怎么回事啊?请大神帮忙...阅读全文

Notepad++配置Go语言语法高亮

前提是已经安装并配置好了Go语言环境,这里不再赘述。 1.Go语言支持包 如果在Go安装目录中misc文件夹中有notepadplus文件夹,其中有userDefineLang_Go.xml(网上有的写是userDefineLang.xml,我没有见到)这个文件,则直接使用,没有的话就从下面这个地址下载。下载到后,解压会得到两个xml,一个是userDefineLang_Go.xml,一个是go.xml。 http://notepad-plus.sourceforge.net/commun/userDefinedLang/go.zip 2.配置Notepad++ 1).打开userDefineLang_Go.xml,把文件开头和结尾的注释...阅读全文

博文 2015-06-17 23:00:28 change_from_now

使用 IntelliJ IDEA 搭建go语言开发环境,亲测可用

1 安装版本 go1.5 2 下载sdk : 下载地址:http://golangtc.com/download 3 按照提示安装即可 ,放置于D:/Go 目录下 4 下载安装intellj IDEA , 地址:http://www.jetbrains.com/idea/ 5 按照提示安装intellj Idea 6 配置IDEA 的go插件 一种是直接在settings->plugins->intsall jetBrains plugins ->搜索golang ;但是我没有搜到,网上有的说用编译go-lang-plugin 的源码得到jar ,但是我的编译总是出现问题,放弃 我是这样的:我从网上 vcs->check out from version control -> docker ...阅读全文

博文 2015-11-25 22:00:02 rually

godep的save和update

godep save ./... 把依赖的包从GOPATH里找到,然后固化到当前目录Godeps目录里. 但是它不分版本:如果GOPATH里某个包升级了,godep save不会把它更新到Godeps里(假设Godeps里已有)。 godep update google.golang.org/grpc/... 把依赖的grpc包固化到当前目录Godeps目录里,用GOPATH里当前的版本...阅读全文

博文 2015-11-05 03:00:02 xiaouisme

Deepin下搭建Golang开发环境

首先下载golang包,下载地址:http://pan.baidu.com/s/1hq1mrDM 进入go文件夹,然后进入对应的版本号,如果您的系统是32位的就是go1.4.2.linux-386.tar.gz,64位是go1.4.2.linux-amd64.tar.gz,下载好了后,解压得到go文件夹,我们使用命令移动到系统目录:sudo mv go /usr/local/输入管理员密码,什么都没有提示就是成功了,然后修改profile文件,命令是sudo gedit /etc/profile,然后在末尾添加以下代码: export GOROOT=/usr/local/go export GOARCH=amd64 export GOOS=linux export GOPATH=/home/...阅读全文

博文 2015-06-17 20:05:15 Rekols

golang中的http.FileServer通常要跟http.StripPrefix结合使用

用go写一个文件服务器很简单: http.handle(“/”, http.FileServer(http.Dir(“doc”)) http.ListenAndServe(":8888”, nil) 打来localhost:8888,就能看到doc目录下的所有文件。 但如果,你想用localhost:8888/doc来显示进入文件目录,则需要 http.Handle(“/doc", http.StripPrefix(“/doc", http.FileServer(http.Dir(“doc")))) http.StripPrefix用于过滤request,参数里的handler的request过滤掉特定的前序,只有这样,才能正确显示文件目录...阅读全文

博文 2015-06-17 20:18:48 u011649436

一个简单的golang游戏服务器框架

这个是框架的架构图 ![架构图.jpg](http://studygolang.qiniudn.com/161126/bbd98d6b8e74230dcb518caad9caadc1.jpg) 单个APP的结构 ![单个app结构.jpg](http://studygolang.qiniudn.com/161126/f7a78528c9c94f63c0513fd5e3336b74.jpg) 报文协议层级 ![报文层级.jpg](http://studygolang.qiniudn.com/161126/2fcbc73d2e2926e09941bd18403103da.jpg) 文档的目录索引的链接:http://blog.csdn.net/easy_m...阅读全文

go语言http服务处理image/css/js等静态文件

go语言实现http服务器时如果处理静态文件,需要用到http.ServeFile: func ServeFile(w ResponseWriter, r *Request, name string) { dir, file := filepath.Split(name) serveFile(w, r, Dir(dir), file, false)} 首先根据请求路径r.URL.Path判断是否包含静态文件目录,如果存在则直接返回: img_dir := "/home/qinpeng" if strings.HasPrefix(r.URL.Path,"/img"){ file := img_dir + r.URL.Path[len("/img"):] f,err := os.Open(fil...阅读全文

Go http.StripPrefix在File Server中的用途

一. 保持代码的整洁和进行合理的分流 http.StripPrefix函数的作用之一,就是在将请求定向到你通过参数指定的请求处理处之前,将特定的prefix从URL中过滤出去。下面是一个浏览器或HTTP客户端请求资源的例子: /static/example.txt StripPrefix 函数将会过滤掉/static/,并将修改过的请求定向到http.FileServer所返回的Handler中去,因此请求的资源将会是: /example.txt http.FileServer 返回的Handler将会进行查找,并将与文件夹或文件系统有关的内容以参数的形式返回给你(在这里你将"static"作为静态文件的根目录)。因为你的"example.txt"文件在静态目录中,你必须定义一个相对路径去获...阅读全文

博文 2016-12-23 10:00:01 吃一堑消化不良

golang 多个项目时如何配置(使用gb在非GOPATH路径下构建项目)

方案1:将每个项目路径写入GOPATH 写了个脚本SetGoPath.sh #!/bin/bash if [[ $GOPATH =~ .*$PWD.* ]] then echo "currnet dir is already in GOPATH" else export GOPATH=$GOPATH:$PWD echo "fininsh setting $PWD in GOPATH" fi 在项目主目录中运行source SetGoPath.sh 将当期项目路径写入GOPATH 方案2 使用gb替代go来构建项目 这个gb就是一个替代go的build 和 test的工具,可以让项目在任意路径时运行构建 github地址:https://github.com/constabula... 首先要...阅读全文

博文 2017-03-16 10:00:54 kel

问个os.exec 执行windows 下命令的问题

我在windows 目录下面有个cwRsync_5.4.1 的包 path="/cygdrive/c/null/ /cygdrive/c/data/20140101" cmd := exec.Command("cmd", "/C", "C:\\cwRsync_5.4.1\\rsync.exe", "-av", "--delete", path) cmd := exec.Command("C:\\cwRsync_5.4.1\\rsync.exe", "-av", "--delete", path) 都执行无效果。 我拿cmd.Args() 的 里面的参数,在windows 下执行是好的。 另外我也试过了cmd.Start() cmd.Run() 都不可以。。。。...阅读全文

Go如何处理zip中的中文文件名

Go的标准库已经自带了zip的库. 不过zip包在处理内部文件名时, 默认是utf8编码的. 对于Windows中文用户, 生成和读取zip内部文件名默认是GBK编码的. 因此, 在处理涉及GBK的文件名时需要做一个转换. Go语言官方的 go.text 子标准库已经支持各种编码, 下面是utf8转GBK的函数: import "golang.org/x/text/encoding/simplifiedchinese" func utf8ToGBK(text string) (string, error) { dst := make([]byte, len(text)*2) tr := simplifiedchinese.GB18030.NewEncoder() nDst, _, err :...阅读全文

博文 2015-05-18 12:38:08 chai2010

golang之分模块导包例子

liteIde建立sample工程,目录自定 我这边工程叫myTest,目录结构如下 ├── doc.go ├── main.go └── mm ├── a.go └── b.go main.go package main import ( "./mm" ) func main() { mm.Mm() } a.go package mm import ( "fmt" ) func Mm() { zz() fmt.Println("mmmmmmmmmmm") } b.go package mm import ( "fmt" ) func zz() { fmt.Println("zzzzzzzzzzz") ...阅读全文

博文 2014-10-04 19:26:12 ziyouchutuwenwu

用http实现文件共享(python和go语言示例)

平时工作中少不了文件共享,所以了解文件共享的方法很有必要。 文件共享有很多方法,大致分为以下几类: 1、系统共享(windows共享或samba等): windows下我们可以借助windows共享完成简单的文件共享,linux下也可以用samba之类的软件轻松实现。 2、ftp共享: 可以借助常见的ftp软件实现。 3、http共享: 可以借助常见的web服务器(比如IIS、Apache等)实现。 今天我要介绍的是http文件共享。 首先以IIS为例介绍下用常用的web服务器实现文件共享的方法,具体如下(以我机器为例): 1、打开IIS,打开“网站 --> 默认网站”,右键点击“属性”,点击“主目录”,勾选“目录浏览”选项,如下图所示: 2、进入文件夹C:\Inetpub\wwwroot,...阅读全文

博文 2014-10-04 19:26:38 MikeZhang

[golang把文件复制到另一个目录]

//本程序 主要功能是把A文件夹下的文件与B目录下文件对比,如果找到就覆盖到B相应的目录下。 // 用法: merge A目录 B目录 // merge.go package main import ( "flag" "fmt" "os" "path/filepath" "strings" "time" "github.com/Unknwon/com" ) const ( IsDirectory = iota IsRegular IsSymlink ) type sysFile struct { fType int fName string fLink string fSize int64 fMtime time.Time fPerm os.FileMode } type F struct ...阅读全文

博文 2016-09-07 12:00:02 zistxym

如何使用Python删除文件、目录

在进行Python项目实战(http://www.maiziedu.com/course/python/)时,会经常使用到Python删除文件、删除目录等操作方法,今天小编详细的分析了涉及Python文件操作的各种方法,需要的朋友可以参考下 下面来看一下python里面是如何删除一个文件及文件夹的~~ 首先引入OS模块 import os 删除文件: os.remove() 删除空目录: os.rmdir() 递归删除空目录: os.removedirs() 递归删除目录和文件(类似DOS命令DeleteTree): 方法1: # Delete everything reachable from the directory named in 'top', #...阅读全文

golang 与ide环境变量设置

系统环境变量:export PATH=$PATH:/usr/local/go/bin golang ide liteide环境变量设置: # native compiler linux amd64 GOROOT=/usr/local/go //golang 的安装目录() #GOBIN= GOARCH=amd64 GOOS=linux CGO_ENABLED=1 GOPATH = /home/www/g //开发目录 PATH=$GOROOT/bin:$PATH LITEIDE_GDB=gdb LITEIDE_MAKE=make LITEIDE_TERM=/usr/bin/gnome-terminal LITEIDE_TERMARGS= LITEIDE_EXEC=/usr/bin/xterm...阅读全文

博文 2014-10-04 19:26:51 廖君

Golang交叉编译

Golang交叉编译 --------------------- 本文在Windows已正确安装Golang环境的情况下进行。Linux下类似操作即可。 要进行交叉编译先需要准备好编译相应平台及系统所需要的环境。 首先有两个用于指定叉编译目标平台的环境变量必要提前了解: GOARCH 目标平台(编译后的目标平台)的处理器架构(386、amd64、arm) GOOS 目标平台(编译后的目标平台)的操作系统(darwin、freebsd、linux、windows) 一、准备交叉编译的环境 1.通过控制台进入到该路径下的 D:\Go\src 目录中(假定Golang安装在 D:\Go 路径下)。在该目录中会有一个 make.bat(注:make.bash 可用于linux下) 的批出来文件。 2...阅读全文

golang开发环境搭建

最近由于工作需要,开始接触一门新的语言——golang,Golang是Google开发的一种编译型,可平行化,并具有垃圾回收功能的编程语言。对于熟悉Java的人,在语言习惯方面有部分不适应,个人感觉更像js与C的结合版,慢慢熟悉后会觉得是一门非常棒的语言,速度快,高性能。确实值得去学习了解。 由于公司主要开发是在linux系统下,熟悉的配置还是在linux下,不过也一并把windows的配置简单描述一下。 golang下载地址:www.golangtc.com/download 在这个下载地址中有个下载第三方包的连接,主要是用来下载一些开发需要的依赖包,由于天朝墙的关系,code.google.com上面的很多包没法下载,可以按照这个下载第三方包的界面操作进行下载,是很方便的。 一、wind...阅读全文

博文 2015-09-09 12:00:00 hellth

怎样计算大文件的MD5

小文件可以这样,但是大文件怎么办???? ~~~ package main import ( "crypto/md5" "fmt" "io/ioutil" "os" "path/filepath" "sort" ) // MD5All读取文件目录root下所有文件,并返回从文件路径到文件内容MD5值的映射。如果扫描目录 // 出错或者任何操作失败,MD5All返回失败。 func MD5All(root string) (map[string][md5.Size]byte, error) { m := make(map[string][md5.Size]byte) err := filepath.Walk(root, func...阅读全文

Wide 支持导入本地项目了!

该导入项目的方式是通过两个功能组合完成的: * 导入文件 * 解压 Zip ### 步骤 1. 在目标目录右键单击并在下拉菜单中选择“导入” ![](https://cloud.githubusercontent.com/assets/873584/6767938/42233628-d08a-11e4-9b1a-cc1864fa27a2.png) 2. 上传 Zip 文件 ![](https://cloud.githubusercontent.com/assets/873584/6767939/42246548-d08a-11e4-90f9-e5fe1760c229.png) ![](https://cloud.githubusercontent.co...阅读全文

Go语言(工程和包)

在Go语言中,包是函数与数据的集合,用package定义一个包,包的名字不一定要跟文件名字一样,接下来,将学习如何使用Go语言的包。 首先,我们创建一个Stack包,然后用一个主程序来调用这个包里面的方法。这实际上涉及到Go语言中的工程的分包和编译。Go语言是这么来配置它的工程的,如下图 其中package是工程的根目录,我们需要事先设置环境变量GOPATH,如下 而bin目录和pkg目录是go编译自动生成的,而src是手动创建的。所以创建工程的步骤大致是 (1)进入到package目录,即工程根目录 (2)执行mkdir src,创建一个src源文件存放目录 (3)在源文件目录中创建一个stack包,即mkdir stack (4)再创建一个test包,用于测试stack的功能,此包中为主...阅读全文

博文 2015-04-04 01:00:01 ACHelloWorld

OS X 10.11搭建go语言1.5.1开发环境

1、安装Golang的SDKhttp://golang.org ,下载最新的安装包,之后双击安装即可。某此同学国内打不开的。。。我只想说,学谷歌的东西,自己想个好点办法吧。。。你懂的 安装完成之后,打开终端,输入go、或者go version(查看安装版本)出现如下信息即表示安装成功: $ go version go version go1.5.1 darwin/amd64 2、配置环境变量安装完sdk之后接下来便是配置环境变量了,打开终端输入cd ~ 进入用户主目录,之后输入ls -all命令查看是否存在.bash_profile 文件,存在既使用vim .bash_profile打开并编辑该文件。根据自己实际情况,内容如下: export GOPATH=/Users/lvtao/Docu...阅读全文

使用SWIG桥接Golang和Windows DLL

最近看了下Go语言,利用Dynamsoft Barcode SDK做了一个简单的Golang条形码扫描。这里分享下如何使用SWIG来快速封装底层C/C++接口。 参考原文:How to Use SWIG to Link Windows DLL with Golang 作者:Xiao Ling 翻译:yushulx 下载安装 mingw-w64 SWIG Go Dynamsoft Barcode Reader 如何使用SWIG实现Cgo封装 运行cmd.exe,设置GOPATH: set GOPATH=f:\go-project set DBR= 创建一个package: mkdir %GOPATH%\src\github...阅读全文

博文 2016-01-16 13:00:02 yushulx

Go 语言开发环境设置(Fedora x64)

如果以工作需要来看,Go语言对我一无是处——我不需要写(“不会写”的另一种说法)操作系统级的代码。但是这个编程语言的Newbie看起来确实很适合开发国际象棋引擎和围棋引擎——既有接近C的速度,又有很好的并发支持,还包括了安全的数据容器,因此,我还是忍不住想学点新把戏了。 安装Go的过程其实异常简单。可以参考http://golang.org/doc/install.html,不要被页面的篇幅吓住,其实上面一大半在解释几个关键的环境变量,一小半在谈mercurial,最后实际安装的语句……只有一句!下面就谈如何在Fedora的64位版本下安装Go。 Go语言的推荐开发平台当然是64位的Linux,在官方文档里的方法针对的是ubuntu,当然,Fedora下的安装是大同小异。 首先在.bash_...阅读全文

博文 2014-10-12 22:00:00 hiarcs

golang笔记:cookie

在同一个问题上栽了两次,以后碰到cookie出问题多半都是因为这个。 Request.Cookie(name)取Cookie的时候,返回值只有name和value cookie.go cookies = append(cookies, &Cookie{Name: name, Value: val}) 可以看到只返回了Name和Value两个值,大概是为了所谓性能吧。于是在拦截器里读取当前Cookie并重设时间的时候,Path和时间值都要重设一下。不然原来根目录下的Cookie还在,而新的Cookie就根据某些规则种到不知道哪里了,还有可能导致退出的时候删不干净。 所以用golang种cookie的时候,除了name和value, 所有其的值都要像新建cookie一样重设一遍重设一遍...阅读全文

博文 2015-10-10 04:00:00 liumuqiu

Mac OSX 安装Go语言环境

go语言运行包下载地址:http://code.google.com/p/go/downloads/list 我这里安装的是 go version go1.4.1 darwin/amd64 下载安装就可以了 然后就是配置环境变量 GOROOT安装好就是已经配置好了的,我们只需要配置GOPATH,我是在当前用户桌面创建Go目录,里面分别是 src,bin,pkg三个目录 查看当前用户主目录是否有.bash_profile文件,没有则创建输入 export GOPATH=${HOME}/Desktop/Go export PATH=${PATH}:${GOPATH}/bin 保存,source ~/.bash_profile不报错就可以了 现在环境已经搭建好...阅读全文

博文 2015-02-02 03:00:01 qifeng1991

golang 获取当前路径和上一级父路径(目录)

直接贴代码: package main import ( "fmt" "log" "os" "path/filepath" "strings" ) func substr(s string, pos, length int) string { runes := []rune(s) l := pos + length if l > len(runes) { l = len(runes) } return string(runes[pos:l]) } func getParentDirectory(dirctory string) string { return substr(dirctory, 0, strings.LastIndex(dirctory, "/")) } func getCur...阅读全文

博文 2016-11-06 14:00:01 Manrener