作为一个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. Hive是什么

    Hive是什么1)Hive 是建立在Hadoop (HDFS/MR)上的用于管理和查询结果化/非结构化的数据仓库:2)一种可以存储.查询和分析存储在Hadoop 中的大规模数据的机制:3)Hive 定 ...

  2. 【转】marquee标签简介

    本文转自:http://www.360doc.com/content/12/0818/16/8351655_230872993.shtml marquee语法    <marquee>&l ...

  3. bzoj 5341: [Ctsc2018]暴力写挂

    Description Solution 边分治+边分树合并 这个题很多做法都是启发式合并的复杂度的,都有点卡 以前有个套路叫做线段树合并优化启发式合并,消掉一个 \(log\) 这个题思路类似,建出 ...

  4. hadoop学习笔记(九):MapReduce程序的编写

    一.MapReduce主要继承两个父类: Map protected void map(KEY key,VALUE value,Context context) throws IOException, ...

  5. 转载:@Html.ValidationSummary(true)

    ASP.NET MVC3 Model验证总结 @Html.ValidationSummary(true)   http://www.wyjexplorer.cn/Post/2012/8/3/model ...

  6. 无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Latin1_General_100_CI_AS" 之间的排序规则冲突。

    问题 操作临时表时提示如下排序规则冲突错误 sql ....忽略...sql ..... 无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 " ...

  7. ASP.NET MVC传递Model到视图的多种方式总结(一)__通用方式的使用

    有多种方式可以将数据传递到视图,如下所示: ViewData ViewBag PartialView TempData ViewModel Tuple 场景: 在视图页面,下拉框选择课程触发事件,分别 ...

  8. Go 语言中的 Http 路由基础

    最近在写一些 Go 语言的 Web 应用,因为 Go 语言中的 Web 应用和 Python 中的不太一样,具体的区别应该和语言的动态性是有所联系的,同时,也和语言的内置库支持有所联系,所以这就导致了 ...

  9. 用python实现一个简单的聊天功能,tcp,udp,socketserver版本

    基于tcp协议版本 服务器端 import socket server = socket.socket() server.bind(('127.0.0.1', 8001)) server.listen ...

  10. js-权威指南学习笔记15.3

    1.如果要明确地选取一个表单元素,可以索引表单对象的elements属性:document.forms.address.elements.street--一个name为address的form下的na ...