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

Golang 常用的一些基本操作

下面是Golang常用的一些操作,获取环境变量、操作文件等等;package main import ( "fmt" "os" "path/filepath" "io/ioutil" ) func main () { //将当前路径和给定的路径连接成绝对路径 absPath,_ := filepath.Abs("test") fmt.Println(absPath) //返回路径中最后的那个路径(通常是目录名或者文件名) basePath := filepath.Base(absPath) fmt.Println(basePath) //返回除最后的目录之外的路径(即最后的目录之前的路径) dirPath := filepath.Dir(absPath) fmt.Println(dirPat...阅读全文

博文 2016-09-08 16:00:02 afandaafandaafanda

1.蛤蟆笔记go语言——入门

1.蛤蟆笔记go语言——入门 简介 Go语言是一门简单、高效、安全和并发的语言。简单到甚至不需要有一个符号表来进行词法分析。它可以快速地编译;整个工程的编译时间在秒以下的情况是常事。它具备垃圾回收功能,因此从内存的角度是安全的。它进行静态类型检查,并且不允许强制类型转换,因而对于类型而言是安全的。同时语言还内建了强大的并发实现机制。 Go语言的作者在设计这一语言时坚持一个单一的指导原则:简单明了至上。 变量是如下声明的: var sum int // 简单声明 var total int = 42 // 声明并初始化 这些声明里的类型跟在变量名的后面。 如果一个变量初始化了,编译器通常能推断它的类型,所以程序员不必显式的敲出来: var label = "name" go语言eclipse开...阅读全文

博文 2016-08-31 19:00:07 notbaron

go语言学习---环境搭设

1. 开发包下载及安装 这个不用多说,直接下载官方的吧。 http://golang.org/ 我下载的是 go1.1.windows-amd64.msi 安装说明:http://golang.org/doc/install windows下要设定GOPATH, GOROOT等环境变量 2.编辑环境使用 sublime text2 关于sublime text2的安装可以参考 http://blog.csdn.net/jwkfreedom/article/details/8450005 只需要把go的package装一下就行了 2.1 和安装nodejs时一样,ctrl+shift+p 弹出package 管理列表后,输入 install package, 2.2 进入package安装选择...阅读全文

博文 2015-06-17 20:06:14 jwkfreedom

go语言使用grpc的步骤

grpc提供了很好的rpc远程过程调用功能,封装了中间环节,让使用rpc的客户服务端只需要关注自己的业务即可。 go语言下使用gprc的步骤如下: 1、安装go语言 go语言的安装不再详述,具体参见:https://golang.org/doc/install grpc需要在go语言1.5或以上版本工作 2、安装grpc 安装好go语言后,调用如下: $ go get google.golang.org/grpc 3、安装 Protocol Buffers v3 到https://github.com/google/protobuf/releases下下载对应平台和版本(protoc--.zip)的压缩包或安装包,解压到你自己的目录下,同时将目录下的bi...阅读全文

博文 2016-09-03 07:00:04 sky101010ws

Golang 简介及配置

Go 是 2009 年发布的一种简单的并行开发,且跨平台的类 C 语言。由于其强大的并行性,很适合用于网络开发中。 来自其网站的介绍: Go 编程语言是一个使得程序员更加有效率的开源项目。 Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性的模块化程序。 Go 编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。 windows 下 Go 环境配置 1)二进制文件配置 在官网 Go:https://golang.org/dl/ 下载 .zip 文件;目前稳定版为 go1.4.2 版,最新版本为 go1.5beta3。 解压缩到指点盘,如 C:\ 盘; 确...阅读全文

博文 2016-04-16 10:00:01 abc123man

Gox : 简单实在的Go平台交叉编译工具

Gox 是一个简单的,不花俏的Go平台交叉编译工具,它的用处就和标准的 go build 一样。Gox 会并行地为多种平台编译。Gox 同时也提供了一套交叉编译工具链。 Gox 项目地址:https://github.com/mitchellh/gox 安装 为了安装 Gox,请使用 go get。我们已经为版本打上了标签,所以可以随便切换标签进行编译: $ go get github.com/mitchellh/gox ... $ gox -h ... 用法 在你使用 Gox 之前,你必须先有一套交叉编译工具链。Gox 可以自动帮你完成这个。你需要做的只是运行(每次更新 Go 都要这样做这步): $ gox -build-toolchain ... 当你完成这个,你可以已经准备好进行交叉编...阅读全文

博文 2017-02-09 13:21:54 JeOam

golang开发android应用(二) - go语言生成android动态库

gomobile的两个有用参数,bind 生成动态库,build 生成apk 生成android动态库 gomobile bind -target=android github.com/dearcode/candy/server/android生成文件candy.aar,先查看下大小: du -sh candy.aar 13M candy.aar巨大,13MB,本来想压缩下,发现这aar本身就是压缩过的,生成后的文件大小本身与代码有关,我用的是项目中的代码,如果按官方的测试代码生成的文件只有2MB file candy.aar candy.aar: Zip archive data, at least v2.0 to extract 指定运行平台 gomobile默认会生成四个平台arm, ...阅读全文

博文 2016-09-07 14:00:17 dearcode

Golang、Php、Python、Java基于Thrift0.9.1实现跨语言调用

目录 目录 什么是Thrift 1 Thrift内部框架一瞥 2 支持的数据传输格式数据传输方式和服务模型 3 Thrift IDL Thrift的官方网站在哪里 在哪里下载需要哪些组件的支持 如何安装 1 安装依赖插件 2 安装最新版PHP5 3 下载thirft091版本 4 编译安装 GolangJavaPythonPHP之间通过Thrift实现跨语言调用 1 Golang 客户端和服务端的实现及交互 2 python 客户端的实现与golang 服务端的交互 3 php 客户端的实现与golang 服务端的交互 4 java 客户端的实现与golang 服务端的交互 扩展阅读 什么是Thrift 0.1 Thrift内部框架一瞥 Thrift是一种可伸缩的跨语言服务的发展软件框架。它...阅读全文

博文 2016-09-08 07:01:15 狮子

golang开发android应用(一) - go语言android应用环境搭建

基于golang的android动态库开发,很久以前golang就支持开发android上的动态库及应用了,golang的环境搭建就不说了,直接从gomobile开始 软件依赖 golang, gomobile, jdk,android sdk gomobile gomobile就是一个可以利用golang来开发android上本地应用及动态库的一个golang框架,我们通过他能生成能在android程序中调用的aar库文件。 关于gomobile的介绍也可以看这里: https://github.com/golang/go/wiki/Mobile gomobile安装 要求是golang版本要大于1.5(我用的目前最新版1.7,目前golang活跃,不要拿旧版本测试) go get gol...阅读全文

博文 2016-09-02 04:00:11 dearcode

Fanout - 更容易得写并发代码

不用管理 grouting 和 channel 了。 以下为转发 golangtc.com 原文: 刚刚写了个包,觉得值得出来分享下: 文档: https://github.com/sunfmin/fanout 用来简化并发程序(goroutine, channel)的编写,这个包直接改写自Go Concurrency Patterns: Pipelines博客的最后一个样例程序。 平时写带goroutine和channel的程序,总是时不时的爆"fatal error: all goroutines are asleep - deadlock!",检查起来又很难找原因。 例子程序 - 用60个goroutine一起跑whois来查看域名是不是还在: inputs := []interfac...阅读全文

博文 2017-02-09 13:43:05 ericwu

golang实现快速排序

快速排序的原理就不介绍了。在网上看到一个有趣的视频,大家可以看看,非常详细且有趣。 快速排序视频 代码:https://play.golang.org/p/Fw5gtzrPj0 package main import ( "fmt" ) func main() { var sortArray = []int{3, 41, 24, 76, 11, 45, 3, 3, 64, 21, 69, 19, 36} fmt.Println(sortArray) qsort(sortArray, 0, len(sortArray)-1) fmt.Println(sortArray) } func qsort(array []int, low, high int) { if low < high { m :...阅读全文

博文 2017-02-09 13:41:57 MrRightLeft_秦磊

Beego自动化文档(最新版)

之前写过一篇使用Beego自动化api文档的文章:Beego自动化文档,随着Beego的更新,1.7.0之后Beego自动化文档的方法也有了更新,最显著的更新是去掉了docs.go,使用了swagger.json,更加的符合swagger的特点。这篇文章是上一篇文章的修正和补充。 环境要求 需要安装最新的Go语言环境,安装Go可以参考Golang在Mac OS上的环境配置,还需要安装最新的Beego框架。如果是你的Beego框架还是旧版本的就需要升级Beego: go get -u github.com/astaxie/beegogo get -u github.com/beego/bee 查看bee的最新版本: bee version | ___ \ | |_/ / ___ ___ | _...阅读全文

博文 2017-02-10 14:47:05 姜家志

go vendor 介绍

go vendor 是go 1.5 官方引入管理包依赖的方式,1.6正式引入 其基本思路是,将引用的外部包的源代码放在当前工程的vendor目录下面,go 1.6以后编译go代码会优先从vendor目录先寻找依赖包; 1.解决的问题: 将源码拷贝到当前工程的vendor目录下,这样打包当前的工程代码到任意机器的$GOPATH/src下都可以通过编译,避免项目代码外部依赖过多,迁移后, 需要多次go get 外包依赖包;而且通过go get 重新拉去的外部依赖包的版本可能和工程开发时使用的不一致,导致编译错误问题。 2.未解决的问题: 无法精确的引用外部包进行版本控制,不能指定引用某个特定版本的外部包;只是在开发时,将其拷贝过来,但是一旦外部包升级,vendor下的代码不会跟着升级, 而且ve...阅读全文

博文 2016-09-06 15:00:00 hittata

19.蛤蟆笔记go语言——使用Mysql驱动

19.蛤蟆笔记go语言——使用Mysql驱动 MySQL驱动 Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,如下: https://github.com/Go-SQL-Driver/MySQL 下载得到 mysql-master.zip压缩包,解压包含需要的go文件。 创建库和表 create database test; CREATE TABLE `userinfo` ( `uid`INT(10) NOT NULL AUTO_INCREMENT, `username`VARCHAR(64) NULL DEFAULT NULL, `departname` VARCHAR(64) NULL DEFAULT NULL, `...阅读全文

博文 2016-08-23 11:00:05 notbaron

Mac OS 平台使用 Python 和 Docker 创建测试用 Https Server

Mac OS 平台使用 Python 和 Docker 创建测试用 Https Server Flask 是我很喜欢的 Python Web Framework,最近需要测试 Https 通信,需要创建一个使用自签名证书的 Https Server,那么用 Flask 可以这样通过下面的步骤非常方便地实现。 自签名证书 使用 OpenSSL 生成 .key 私钥文件和 .csr Certificate Signing Request 文件: openssl req -new -key test.key -out test.csr 生成 10 年期的自签名证书文件: openssl x509 -req -days 3650 -in test.csr -signkey test.key -out...阅读全文

博文 2017-02-10 13:44:40 Xiaohui Wang

FlatBuffers 使用 Golang java 指引

[TOC] 定义 IDL 模型文件 FlatBuffers的模型接口定义文件后缀为 .fbs fbs 语法 基础语法 语句使用 ; 结尾结构体使用 {} 来限定使用 [] 来指定一个自定义类型 范例 namespace com.my.event; table Event{ touch : [Touch]; } table Touch{ x : int(id: 0); y : int(id: 1); } root_type Event; 关键字 关键字 描述与用途 /// FlatBuffers中用 "///" 来表示注释,且此注释会带入到生成的源码文件中 namespace 模型目录,包结构 table 模型类标识 会生成对应标识的单个模型文件的类 bool short int float ...阅读全文

博文 2017-03-05 19:35:04 泛原罪

golang crontab的计划任务及定时任务使用

对了,最近又开始搞golang了… 记得以前在乐视的时候用golang做过些东西,后来因为种种问题不得不放弃golang。 有个功能是需要定期的执行任务,因为是跟项目内部耦合一起的,所以不适合用linux crontab来操作。 在github中找到一个热门的golang cron模块,使用很简单! 我们只需要把一堆的任务注册给调度器就可以了。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/2016/03/03/golang-crontab%E7%9A%84%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1%E5%8F%8A%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E4...阅读全文

博文 2017-04-04 19:18:14 rfyiamcool

How To Install Go 1.6 on Ubuntu 14.04

How to Install Go 1.6 on Ubuntu 14.04 Introduction Go is a modern programming language developed by Google that uses high-level syntax similar to scripting languages. It is popular for many applications and at many companies, and has a robust set of tools and over 90,000 repos. This tutorial will walk you through downloading and installing Go 1.6, ...阅读全文

博文 2016-10-10 09:00:01 sky101010ws

在CentOS7上用Supervisor运行Golang守护进程

安装pip 下载pip安装文件并执行安装 下载文件[root@snails ~]# wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate 执行安装[root@snails ~]# python get-pip.py [root@snails ~]# pip -V pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7) 设置pip国内aliyun源 创建或修改配置文件linux ~/.pip/pip.conf windows %HOMEPATH%\pip\pip.ini 修改内容 [global] index-url = http://mirrors.a...阅读全文

博文 2017-02-10 15:52:18 技术学习

一条命令即可将 Vim 配置为功能强大的 IDE

一条命令即可将 Vim 配置为功能强大的 C/C++ IDE 。包括安装不太方便的 YouCompleteMe 插件也是自动安装,并且会自动从官网下载最新版本的 libclang,然后编译 YouCompleteMe 插件需要的 ycm_core library ,这或许是目前为止安装 YouCompleteMe 插件最简单的姿势。 安装: curl -o - https://raw.githubusercontent.com/HmyBmny/vimrc/master/install-vim-plugins | sh 部分插件的使用需要安装一些依赖,诸如 ctags 之类的,具体请参考:https://github.com/HmyBmny/vimrc 支持所有 Linux 平台, Mac 没...阅读全文

博文 2017-02-10 10:27:20 HmyBmny

go语言使用grpc的步骤

grpc提供了很好的rpc远程过程调用功能,封装了中间环节,让使用rpc的客户服务端只需要关注自己的业务即可。 go语言下使用gprc的步骤如下: 1、安装go语言 go语言的安装不再详述,具体参见:https://golang.org/doc/install grpc需要在go语言1.5或以上版本工作 2、安装grpc 安装好go语言后,调用如下: $ go get google.golang.org/grpc 3、安装 Protocol Buffers v3 到https://github.com/google/protobuf/releases下下载对应平台和版本(protoc--.zip)的压缩包或安装包,解压到你自己的目录下,同时将目录下的bi...阅读全文

博文 2016-09-03 07:00:10 sky101010ws

/gozk/zookeeper/zk.go fatal error: zookeeper.h file not found

这个错误查了好久,最后在medium上找到了答案,遂记于此! 系统: mac os 错误信息: /launchpad.net/gozk/zookeeper/zk.go:15:10: fatal error: 'zookeeper.h' file not found solution:文件$GOPATH/src/launchpad.net/gozk/zookeeper/zk.go中 ... package zookeeper /* #cgo CFLAGS: -I/usr/include/c-client-src -I/usr/include/zookeeper #cgo LDFLAGS: -lzookeeper_mt ... 修改为 ... package zookeeper /* #cgo ...阅读全文

博文 2017-02-10 10:29:45 SkyWay

Go 1.9 beta release?

<p>Does anyone know when the 1.9 release is supposed to drop? The release cycle indicates that it was supposed to be cut at the beginning of the month, but so far, nothing. </p> <hr/>**评论:**<br/><br/>amenzhinsky: <pre><p>Developers thread: <a href="https://groups.google.com/forum/#!topic/golang-dev/D...阅读全文

资源 2017-06-13 10:00:09 xuanbao

使用intelliJ做为Golang的IDE

intelliJ是java的开发利器,一个非常好用的IDE,Android Studio就是基于intelliJ改的,选择使用intelliJ作为Golang的IDE,很是便利。 下载intelliJ 首先要下载http://www.jetbrains.com/idea/intelliJ分为社区版和专业版,建议使用专业版,如果暂时还不想付费,也可以考虑先实现社区版是免费的,对于做Golang或者Java开发的影响很小,但是使用社区版的intelliJ想要开发html,css和JavaScript就没有那么方便了。 安装Golang插件 Golang插件是是个开源项目,项目地址:https://github.com/go-lang-pl... 在intelliJ的Plugins中可以找Gola...阅读全文

博文 2017-02-09 14:14:41 姜家志

golang开发android应用(一) - go语言android应用环境搭建

基于golang的android动态库开发,很久以前golang就支持开发android上的动态库及应用了,golang的环境搭建就不说了,直接从gomobile开始 软件依赖 golang, gomobile, jdk,android sdk gomobile gomobile就是一个可以利用golang来开发android上本地应用及动态库的一个golang框架,我们通过他能生成能在android程序中调用的aar库文件。 关于gomobile的介绍也可以看这里: https://github.com/golang/go/wiki/Mobile gomobile安装 要求是golang版本要大于1.5(我用的目前最新版1.7,目前golang活跃,不要拿旧版本测试) go get gol...阅读全文

博文 2016-09-04 05:00:08 dearcode

使用golang开发https服务

用Golang来写一个http服务极其简单,写一个https服务,也一样的极其简单。 生成key.pem和cert.pem: openssl req -new -x509 -key key.pem -out cert.pem -days 1095 package main import ( "fmt" // "io/ioutil" "net/http" "log" ) func main() { http.HandleFunc( "/", makeHandler ) err := http.ListenAndServeTLS( ":8080", "cert.pem", "key.pem", nil ) if err != nil { log.Fatal("ListenAndServe: ",...阅读全文

博文 2017-02-09 16:47:51 githen-小郭子

Go语言编程(三)之过过瘾

开发一个基于命令行的计算器程序。工程下载地址如下:https://github.com/JoeySheng/calcproj.git 编译过程: 1. 为了能够构建这个工程,需要先把这个工程的根目录加入到环境变量GOPATH中。假设calcproj目录位于~/go下,则应编辑 ~/.bash_profile文件,并添加下面这行代码: export GOPATH=~/go/calcproj 然后执行以下命令: $source ~/.bash_profile 构建工程 $ cd ~/go/calcproj $ mkdir bin $ cd bin $ go build cal...阅读全文

博文 2016-10-17 06:00:05 JoeySheng

在CentOS 7上源码编译Golang 1.7

准备工作 一个“干净”的系统是必须的,本次操作在阿里云上完成。[root@snails ~]# hostnamectl set-hostname snails [root@snails ~]# hostnamectl Static hostname: snails Icon name: computer-vm Chassis: vm Machine ID: 7d26c16f116042a684ea498c9e2c240f Boot ID: e567275688e84ce3b72a11794dc8ac9b Virtualization: xen Operating System: CentOS Linux 7 (Core) CPE OS Name: cpe:/o:centos:centos:7...阅读全文

博文 2017-02-10 14:48:05 技术学习

go语言使用grpc的步骤

grpc提供了很好的rpc远程过程调用功能,封装了中间环节,让使用rpc的客户服务端只需要关注自己的业务即可。 go语言下使用gprc的步骤如下: 1、安装go语言 go语言的安装不再详述,具体参见:https://golang.org/doc/install grpc需要在go语言1.5或以上版本工作 2、安装grpc 安装好go语言后,调用如下: $ go get google.golang.org/grpc 3、安装 Protocol Buffers v3 到https://github.com/google/protobuf/releases下下载对应平台和版本(protoc--.zip)的压缩包或安装包,解压到你自己的目录下,同时将目录下的bi...阅读全文

博文 2016-09-03 08:00:09 sky101010ws

go vendor

 转自:http://blog.csdn.net/hittata/article/details/52122071 go vendor go vendor 是go 1.5 官方引入管理包依赖的方式,1.6正式引入 其基本思路是,将引用的外部包的源代码放在当前工程的vendor目录下面,go 1.6以后编译go代码会优先从vendor目录先寻找依赖包; 1.解决的问题: 将源码拷贝到当前工程的vendor目录下,这样打包当前的工程代码到任意机器的$GOPATH/src下都可以通过编译,避免项目代码外部依赖过多,迁移后, 需要多次go get 外包依赖包;而且通过go get 重新拉去的外部依赖包的版本可能和工程开发时使用的不一致,导致编译错误问题。 2.未解决的问题: 无法精确的引用外部包进...阅读全文

博文 2016-09-06 12:00:01 yueguanyun

GO语言下载、安装、配置

一、Go语言下载 go语言官方下载地址:https://golang.org/dl/ 找到适合你系统的版本下载,本人下载的是windows版本。也可以下载Source自己更深层次研究go语言。 二、GO语言安装 下载完成之后,双击go1.6.windows-amd64.msi进行安装。 如果安装过程出现以下提示: 以管理员的身份运行cmd,找到go1.6.windows-amd64.msi所在的目录,并输入msiexec /i go1.6.windows-amd64.msi如下图(放在D盘根目录): 步骤一:双击运行安装程序 步骤二:点击Next,出现License 选择I accept the terms in the License Agreeement。 步骤三:点击Next,选择安装...阅读全文

博文 2016-09-10 14:00:03 迪克猪

Go Web App Example – Entry Point, File Structure, Models, and Routes

有很多可以快速搭建Go web项目的开源框架,与其用一个开源框架,我更愿意自己Go的原生的东西去构建一个带认证功能的model-view-controller (MVC) web 程序。记住,这只是众多构建你web 项目方法的一种。 可以在Github查看项目的代码:https://github.com/josephspurrier/gowebapp 项目文件结构 config/ - application settings and database schema controller/ - page logic organized by HTTP methods (GET, POST) model/ - database queries route/ - route information...阅读全文

博文 2017-02-10 12:26:05 谢权

开源了一个简单的http服务压测工具Alex,自带web ui,golang实现

Alex Alex是基于vegeta library和boom封装的压力测试web UI。Vegeta提供稳定的qps压力源,boom提供稳定的并发数压力源。github地址 https://github.com/ireaderlab/alexEnglish Alex架构图 Alex 主要功能 保存压力测试参数以便反复压测 保存压力测试报告以便后续查看和分享 提供了简单直接的图形和文字报告 可以同时对多个http接口进行压力测试 可以同时对集群内多个host:port对进行压测 使用多组调用参数避免压测时出现的数据热点问题 使用步骤设置,生成渐进式的压力源 提供简单的压测机器系统状态实时显示功能 Alex Limitations Alex运行在单一进程里,如果你需要分布式的压测环境,就得部署...阅读全文

博文 2017-02-09 08:21:19 大阳照常升起

go语言的urlencode编码使用方式

1,首先我们可以查看godoc.com下的net/url https://godoc.org/net/url 2,我们来看下演示代码 package main import ( "crypto/md5" "flag" "fmt" "net/url" "strings" "time" ) func main() { fmt.Println("./timetoken -t 3600 -key key -url url") var t int64 var key string var resUrl string flag.Int64Var(&t, "t", 0, "expire timestamp") flag.StringVar(&key, "key", "", "encrypt key") f...阅读全文

博文 2016-09-06 18:00:23 guoer9973

go语言学习

go语言菜鸟教程:http://www.runoob.com/go/go-tutorial.html 实效go编程:http://docscn.studygolang.com/doc/effective_go.html 在线go运行环境:https://tour.golang.org/welcome/1 go的安装:参照这里在Windows上安装非常easy:http://www.runoob.com/go/go-environment.html go中文标准库(Ctrl+f):http://docscn.studygolang.com/pkg/#stdlib go英文包索引与搜索引擎:https://godoc.org/ /*********************************...阅读全文

博文 2016-10-05 04:00:05 曾劲松

go JSON

package utils import ( "encoding/json" "errors" ) func JsonToMap(text []byte) (map[string]interface{}, error) { var anonymous interface{} err := json.Unmarshal(text, &anonymous) if err != nil { return nil, errors.New(err.Error()) } res := anonymous.(map[string]interface{}) return res, nil } 参考:https://github.com/astaxie/build-web-application-with-g...阅读全文

博文 2016-08-29 12:00:00 allenhaozi

在Go中使用面向对象Web Servers

Part 1: Hello World “Hello, World”程序指的是只在计算机屏幕上输出“Hello, World!”(意为“世界,你好!”)这行字符串的计算机程序。一般来说,这是每一种计算机编程语言中最基本、最简单的程序,亦通常是初学者所编写的第一个程序。它还可以用来确定该语言的编译器、程序开发环境,以及运行环境是否已经安装妥当。 在Go’s net/http 文档中我们可以看到一个运行第一个 Go web 应用程序的示例: http.Handle("/foo", fooHandler) http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %q"...阅读全文

博文 2017-02-10 12:26:58 谢权

GO语言下载、安装、配置

一、Go语言下载 go语言官方下载地址:https://golang.org/dl/ 找到适合你系统的版本下载,本人下载的是windows版本。也可以下载Source自己更深层次研究go语言。 二、GO语言安装 下载完成之后,双击go1.6.windows-amd64.msi进行安装。 如果安装过程出现以下提示: 以管理员的身份运行cmd,找到go1.6.windows-amd64.msi所在的目录,并输入msiexec /i go1.6.windows-amd64.msi如下图(放在D盘根目录): 步骤一:双击运行安装程序 步骤二:点击Next,出现License 选择I accept the terms in the License Agreeement。 步骤三:点击Next,选择安装...阅读全文

博文 2016-09-12 12:00:08 迪克猪

Golang for Android or iOS 使用记录

[TOC] 环境 OSX 10.10.5 jdk1.8.0_92 golang 1.7 Android SDK 25.1.7 Andorid-NDK-r12b Andorid Studio 1.5.1 xcode 7.2.1 swift 2.1.1 目前golang bind 支持的类型说明 https://godoc.org/golang.org/x/mobile/cmd/gobind 安装 gomobile go get -u -v golang.org/x/mobile 会报告一个错误 package golang.org/x/mobile: no buildable Go source files in /Users/sinlov/go/src/golang.org/x/mobile...阅读全文

博文 2017-03-05 19:34:56 泛原罪

Golang、Php、Python、Java基于Thrift0.9.1实现跨语言调用

目录 目录 什么是Thrift 1 Thrift内部框架一瞥 2 支持的数据传输格式数据传输方式和服务模型 3 Thrift IDL Thrift的官方网站在哪里 在哪里下载需要哪些组件的支持 如何安装 1 安装依赖插件 2 安装最新版PHP5 3 下载thirft091版本 4 编译安装 GolangJavaPythonPHP之间通过Thrift实现跨语言调用 1 Golang 客户端和服务端的实现及交互 2 python 客户端的实现与golang 服务端的交互 3 php 客户端的实现与golang 服务端的交互 4 java 客户端的实现与golang 服务端的交互 扩展阅读 什么是Thrift 0.1 Thrift内部框架一瞥 Thrift是一种可伸缩的跨语言服务的发展软件框架。它...阅读全文

博文 2016-09-08 06:00:57 狮子

golang开发android应用(一) - go语言android应用环境搭建

基于golang的android动态库开发,很久以前golang就支持开发android上的动态库及应用了,golang的环境搭建就不说了,直接从gomobile开始 软件依赖 golang, gomobile, jdk,android sdk gomobile gomobile就是一个可以利用golang来开发android上本地应用及动态库的一个golang框架,我们通过他能生成能在android程序中调用的aar库文件。 关于gomobile的介绍也可以看这里: https://github.com/golang/go/wiki/Mobile gomobile安装 要求是golang版本要大于1.5(我用的目前最新版1.7,目前golang活跃,不要拿旧版本测试) go get gol...阅读全文

博文 2016-09-04 06:00:09 dearcode

GoGuru Sublime text 安装

Sublime text的Guru插件叫GoGuru(http://www.jianshu.com/p/994e85e21135). GoGuru 的插件地址https://alvarolm.github.io/GoGuru/2.sublime 打开 Preferences->Package Control->Install Package.输入GoGuru.安装成功即可。 2211.png 查看默认的快捷键 Preferences->Package Settings->GoGuru->key Bindings default底下注释掉的快捷键可以开启直接使用相应的命令。 333333.png 默认的快捷键ctrl+shift+g 既可以打开指令界面,自己选择调用具体的某一个自己的指令 44...阅读全文

博文 2017-03-10 18:27:42 hehe_Android

Golang在Mac OS上的环境配置

Golang是Google开发的一种编译型,平行化,具有垃圾回收功能的编译语言,还和C一样有指针。Golang是天生的网络编程语言,学习使用Golang先从环境配置开始。环境要求: Homerbrew 安装参考:http://brew.sh/ 安装Golang Golang可以通过源代码自己编译安装https://golang.org/project/,为了管理和升级建议使用Homerbrew安装。使用命令行直接安装Golang: brew install go ==> Downloading https://homebrew.bintray.com/bottles/go-1.7.el_capitan.bottle.tar.gz ###############################...阅读全文

博文 2017-02-10 14:46:27 姜家志

Idea Go Lang Debug环境搭建

开始装golang的插件,插件官网地址: https://github.com/go-lang-plugin-org/go-lang-idea-plugin 提示:Idea的插件仓库里面本身也有Go,但是版本相对更新很慢,博主写文章的时候Go的版本已更新到1.6,而Idea本身插件仓库的Go插件是15-12.01更新的,不支持最新版Go 网上很多教程都是下载github上的插件源代码,自己编译插件然后安装,比较繁琐,这里给个非常简单的方法。 github上给了两个jetbrains的插件仓库的地址: 一个是每周编译更新一次的仓库,一个是每晚编译更新一次的仓库,这里以每周的为例 地址:https://plugins.jetbrains.com/plugins/alpha/5047 打开idea...阅读全文

博文 2016-09-07 04:00:05 zly9923218

我们用 golang 实现了一个 unicode 版的 parsec 。

我的团队用到了一些简单的文本解析功能,就移植了 haskell 的 parsec 库。 https://github.com/Dwarfartisan/goparsec 通过了第一个测试,应该各个组合子已经可用了。这个其实参考了同行的一个非常优质的 goparsec 实现 https://github.com/sanyaade-buildtools/goparsec/blob/master/parsec/parsec.go 如果不是因为他实现的是 byte 版,而我需要unicode支持,我才不会自己造轮子。 Parsec 是 Haskell 上一个重要的库,写语法解析之类的功能相当方便,haskell 有一份很有名的入门教程《Write Yourself a Scheme in 48 Ho...阅读全文

博文 2017-02-09 16:57:34 march.liu

https原理以及golang基本实现

关于https 背景知识 密码学的一些基本知识 大致上分为两类,基于key的加密算法与不基于key的加密算法。现在的算法基本都是基于key的,key就以一串随机数数,更换了key之后,算法还可以继续使用。 基于key的加密算法又分为两类,对称加密和不对称加密,比如DES,AES那种的,通信双方一方用key加密之后,另一方用相同的key进行反向的运算就可以解密。 不对称加密比较著名的就是RSA,加密的时候有一个公钥和一个私钥,公钥是可以交给对方的,a给b发送信息,a用自己的私钥加密,b用a的公钥解密,反之,b给a发送信息,b用自己的私钥加密。 在通信之前,需要经过一些握手的过程,双方交换公钥,这个就是key exchange的过程,https最开始的阶段就包含了这个key exchange的过...阅读全文

博文 2017-02-10 12:23:49 谢权

go语言的urlencode编码使用方式

1,首先我们可以查看godoc.com下的net/url https://godoc.org/net/url 2,我们来看下演示代码 package main import ( "crypto/md5" "flag" "fmt" "net/url" "strings" "time" ) func main() { fmt.Println("./timetoken -t 3600 -key key -url url") var t int64 var key string var resUrl string flag.Int64Var(&t, "t", 0, "expire timestamp") flag.StringVar(&key, "key", "", "encrypt key") f...阅读全文

博文 2016-09-06 16:00:01 guoer9973

Leanote 服务器安装

我之前用过很多笔记产品, 比如evernote, 有道, 为知, oneNote. 一直想寻找一个简单好用, 能集成博客功能的笔记. 一直找了好久, 终于有一天, 找到了Leanote, Leanote简单好用, 有笔记, 博客, 分享功能. 功能简单好用恰到好处. 竟然还开源, 看到时, 眼前一亮, 这么多的产品, 已经足够产品化, 有桌面端, ios端. 竟然还开源. 让我更加惊讶的是, 这是国我开发的.... 不说了, 反正非常兴奋. 开源的话, 那肯定可以自己安装到本地, 成为私有的云笔记. 下面我就来说说怎么安装Leanote啦. 其实也就是参考了官方wiki https://github.com/leanote/leanote/wiki, 没什么特别的: leanote bina...阅读全文

博文 2017-02-09 08:08:56 alaege