作为一个c++程序员学习go编程的笔记。首先声明本人文笔太差,当你阅读一点觉得实在无法阅读下去时请移步。

  下载安装go,安装完毕后会增加系统环境变量path内容指定go程序所在目录,可以打开cmd输入go测试下是否安装成功,如果能运行go正常,不能运行的话重启电脑,还不行的话手动增加path环境变量。

  在电脑上建立一个文件夹作为go的工作目录(也称工作空间),例如d:\gopah(可以起别的名字),下面放上三个文件夹,上图吧

  

  弄完后设置环境变量GOPATH,指向d:\gopah

  一、利用go语言创建第一个应用go程序

  编辑一个文件first.go放到src\myfirstapp目录下面,内容

package main   //包名称,类似namespage,要做应用程序的话用main
import "fmt" //导入包
func main(){ //定义一个主函数,找个大括号必须放在这一行,好变态
fmt.Printf("hello, world\n")
}

  打开cmd,输入go install myfirstapp,这个地方不需要在cmd里面进入到src目录,go会根据gopath自动查找src下面的包名(对应的就是文件夹名)

执行无误后会在d:\gopath\bin下生产一个myfirstapp可执行程序,至此第一个go程序制作完毕。

  假如你的代码放在d:\gopath\src\my\first下面则生成程序用 go install my/first

  如果你已经进入了d:\gopath\src\my\first,则可以直接go install

  二、利用go语言创建第一个go库(类似动态链接库、静态链接库,可以供其他go代码使用的库)

  和上步一样,创建目录,编辑代码,假设放到了d:\gopath\src\my.com\ocr\hello.go

  代码如下

package mypackage 包名通常约定和存放路径最后一层目录同名,如文件放在了d:\gopath\src\my.com\ocr下面,则通常包名用ocr
import "fmt"
func Print(){
fmt.Printf("hello, 世界\n")
}

  生成库命令go install my.com/ocr,没有问题的话会在d:\gopath\pkg\下面生成一个ocr.a库

  三、使用第一个库

  和第一步一样,编辑代码如下:

package main
import "my.com/ocr"
func main(){
mypackage.Print()  //这个地方应该是mypackage,不是ocr,和上步的package后面一致
}

  剩下的就是学习go语言语法等内容了,

c++程序员学习go的更多相关文章

  1. Java程序员学习之路

    1. Java语言基础 谈到Java语 言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础部分基 ...

  2. php大力力 [033节] 随便看看:PHP程序员学习C++

    php大力力 [033节] 随便看看:PHP程序员学习C++ 2014 兄弟连高洛峰 PHP教程14.1.7 在PHP脚本中操作MySQL数据库4 观看 - 56.com http://www.med ...

  3. .Net程序员学习Linux(一)

    本次知识点:Linux系统的多终端切换,linux下的用户,linux远程访问工具使用,linux下重要的目录,命令的组成,通配符,linux的路径问题,文件操作的综合运用 为什么学习linux? 1 ...

  4. Net程序员学习Linux

    Net程序员学习Linux 本次知识点:Linux系统的多终端切换,linux下的用户,linux远程访问工具使用,linux下重要的目录,命令的组成,通配符,linux的路径问题,文件操作的综合运用 ...

  5. PHP程序员学习路线

    注:本文是@黑夜路人的旧文,假设PHP程序员基础不是非常扎实,简单梳理了每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标.再次分享,共勉,欢迎补充. 第一阶段:基础阶段(基础 ...

  6. 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路

    引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...

  7. 【Python】Java程序员学习Python(五)— 函数的定义和使用

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

  8. 最全的WEB前端开发程序员学习清单

    史上最全的WEB前端开发程序员学习清单! 今天为什么要给大家分享这篇文章呢,我发现最近来学前端的特别多,群里面整天都有人问:前端好找工作吗?前端要怎么学啊?前端工资怎么样?前端XX,前端XXX,虽然我 ...

  9. 前端程序员学习 Golang gin 框架实战笔记之一开始玩 gin

    原文链接 我是一名五六年经验的前端程序员,现在准备学习一下 Golang 的后端框架 gin. 以下是我的学习实战经验,记录下来,供大家参考. https://github.com/gin-gonic ...

随机推荐

  1. 大数据技术之_09_Flume学习_Flume概述+Flume快速入门+Flume企业开发案例+Flume监控之Ganglia+Flume高级之自定义MySQLSource+Flume企业真实面试题(重点)

    第1章 Flume概述1.1 Flume定义1.2 Flume组成架构1.2.1 Agent1.2.2 Source1.2.3 Channel1.2.4 Sink1.2.5 Event1.3 Flum ...

  2. JS事件细分

    鼠标相关事件执行顺序 与 onmousedown 事件相关连得事件发生次序( 鼠标左侧/中间 按钮): onmousedown onmouseup onclick 与 onmousedown 事件相关 ...

  3. JAVA-7NIO之Socket/ServerSocket Channel

    一.ServerSocketChannel Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样.Ser ...

  4. Android 操作Sqlite

    首先要用一个类来继承SQLiteOpenHelper,并必须实现 public DatabaseHelper(Context context, String name, CursorFactory f ...

  5. [日常] MySQL内存不足启动失败的解决方法

    1.启动mysql时,一直不成功,查看错误日志 /var/log/mysql/error.log 2.主要的错误信息有如下几条: [ERROR] InnoDB: mmap(136151040 byte ...

  6. CentOS7下SVN server的安装与配置

    CentOS7通过yum install命令进行安装SVN(参考:http://subversion.apache.org/packages.html#centos) $ yum install su ...

  7. 【学习笔记】--- 老男孩学Python,day12 函数名的应用,闭包,迭代器

    1, 函数名的应用,第一类对象 函数名可以像变量一样进行使用 1.赋值 def func(): print("你吃了么?") # print(func) # a = func # ...

  8. 解决ie6、ie7下float为right换行的情况

    IE6下有不少奇怪的Bug,今天就碰到一个,float:right换行bug,情况是并列的几个块级元素如div和span,一些设置了左浮动一些设置右浮动,一行的宽度足够放下所有的块级元素,但此时ie6 ...

  9. 阿里云短信服务Java版

    短信服务管理平台 https://dysms.console.aliyun.com/dysms.htm java短信发送API    https://help.aliyun.com/document_ ...

  10. vip会员统计表 (vip等级是灵活配置的 非写死1是金卡用户 2是什么 等)

      一个非常常见的报表,分析会员组成比例 以及最新增长情况 和上月同期会员增长情况. 比较特殊一点的是 报表中的 普通会员 和 金卡会员 临时会员 银卡会员 等列 都是根据会员等级配置表动态生成的(即 ...