学习GO编程必备知识汇总
如果你想开始学习GO语法前,请先背熟下述4点:
1. 环境变量:
使用go env查看环境变量
GOARCH/GOHOSTARCH: 体系架构, amd64或386
GOOS/GOHOSTOS: 操作系统, linux或windows
GOROOT: GO安装目录
GOBIN: GO程序目录
GOTOOLDIR: GO工具目录
CGO_ENABLED: 是否启用CGO
CC
CXX
GOGCCFLAGS
GORACE: 数据同步检测, 配合go test, go run, go build, go install的-race选项.
GOPATH: GO包查找路径
2. 代码组织:
- $GOPATH包含多个workspace
- workspace包含src, pkg, bin
- src包含package, 即program, library
- package包含go file
需要明白:
* package name vs package path
package name指go file中使用package声明的identifie. package path指相对GOPATH的路径. 相同package path, 相同package name.
package import完整语法:
import [name] "path"
其中:
name部分可以
无, 使用package声明的默认name
点, 使用当前package
blank, 仅执行init
name, 自定义名称
path部分可以
绝对路径: 相对$GOPATH的路径
相对路径: 相对当前文件的路径.
注意: 使用vendor机制不能出现相对路径, 否则解析出错.
* program vs library
package name为main表示program
package name非main表示library
3. 代码测试
使用go test命令执行测试代码.
test file以_test为后缀.
test func以Test为前缀.
4. 远程包
使用go get命令获取远程包.
但go test命令依赖git或svn.
相关推荐
-
理解Golang中的数组(array)、切片(slice)和map
我比较喜欢先给出代码,然后得出结论 数组 复制代码 代码如下: package main import ( "fmt" ) func main() { arr := [...]int{1, 2, 3} //打印初始的指针 fmt.Printf("the pointer is : %p \n", &arr) printPointer(arr) } func printPointer(any interface{}) {
-
在Golang中使用C语言代码实例
cgo 使得在 Golang 中可以使用 C 代码. Hello World 为了有一个较为直观的了解,我们来看一个简单的例子,创建文件 main.go: 复制代码 代码如下: package main /* #include <stdio.h> void sayHi() { printf("Hi"); } */ import "C" func main() { C.sayHi() } 执行程序: 复制代码 代码如下: go
-
Golang极简入门教程(一):基本概念
安装 Golang 在 http://golang.org/dl/ 可以下载到 Golang.安装文档:http://golang.org/doc/install. Hello Go 我们先创建一个文件 hello.go: 复制代码 代码如下: package main import "fmt" func main() { fmt.Printf("hello Golang\n"); } 执行此程序: 复制代码 代码如下: go run hello.g
-
ubuntu下搭建Go语言(golang)环境
Go语言是谷歌2009发布的第二款开源编程语言.Go语言专门针对 多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进程. 还是我自己的电脑,我自己安装的是ubuntu 12.04版本的,直接介绍安装吧!其实搭建环境很简单! 复制代码 代码如下: sudo apt-get install python-setuptools python-dev build-essential //安装mercurial依赖 sudo easy_insta
-
golang语言中for循环语句用法实例
本文实例讲述了golang语言中for循环语句用法.分享给大家供大家参考.具体分析如下: for循环是用来遍历数组或数字的.用for循环遍历字符串时,也有 byte 和 rune 两种方式.第一种为byte,第二种rune. 复制代码 代码如下: package main import ( "fmt" ) func main() { s := "abc汉字" for i := 0; i < len(s); i++ { fmt.Printf("%c,&
-
Mac OS系统安装golang教程
下载golang安装包 下载地址: http://www.golangtc.com/download https://code.google.com/p/go/downloads/list go1.4.darwin-amd64-osx10.8.pkg go1.4 Mac OS X (x86 64-bit) PKG installer 设置环境变量 配置 GOROOT 和 GOPATH: 复制代码 代码如下: 创建目录下的go文件夹: mkdir ~/go 下面的东西放到.bash_rc(也可能
-
Golang极简入门教程(四):编写第一个项目
workspace Golang 的代码必须放置在一个 workspace 中.一个 workspace 是一个目录,此目录中包含几个子目录: 1.src 目录.包含源文件,源文件被组织为包(一个目录一个包) 2.pkg 目录.包含包对象(package objects) 3.bin 目录.包含可执行的命令 包源文件(package source)被编译为包对象(package object),命令源文件(command source)被编译为可执行命令(command executable).
-
学习GO编程必备知识汇总
如果你想开始学习GO语法前,请先背熟下述4点: 1. 环境变量: 使用go env查看环境变量 GOARCH/GOHOSTARCH: 体系架构, amd64或386 GOOS/GOHOSTOS: 操作系统, linux或windows GOROOT: GO安装目录 GOBIN: GO程序目录 GOTOOLDIR: GO工具目录 CGO_ENABLED: 是否启用CGO CC CXX GOGCCFLAGS GORACE: 数据同步检测, 配合go test, go run, go build, g
-
python学习必备知识汇总
一.变量 1.变量 •指在程序执行过程中,可变的量: •定义一个变量,就会伴随有3个特征,分别是内存ID.数据类型和变量值. •其他语言运行完之前,一定要手动把程序的内存空间释放掉.但python解释器是自带内存回收机制的,一旦python程序运行完后,会自动释放内存空间. age=10 print(id(age),type(age),age) 2.常量 •指在程序执行过程中,不可变的量: •一般都用大写字母定义常量. AGE=10 print(AGE) 3. 变量的命名方式 •驼峰体 AgeO
-
学习C++编程的必备软件
1. 前言 这一课我们来做一些 C++ 开发前的准备工作. 2. 编程的必要工具 依你看,对编程来说,什么软件是必要的呢? 如果你认真学了上一课,那你至少可以说出一种吧. 对了,就是编译器.这个重要的程序可以把你的源代码(用高级语言如 C 语言写的指令)转换成电脑可以理解的二进制码(只包含 0 和 1 的,类似 01100110001111011101010... ). 上一课我们也提了一下,每种高级语言都有对应的编译器(当然对于 Python 这样的解释性语言,就不需要编译了),光是 C++
-
学习Python列表的基础知识汇总
千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要的.约定俗成的语言习惯,例如数组索引为何从0开始,其背后可能大有来历.知其然,亦需知其所以然啊喵喵喵~~~ 最后,在基础知识之上,更要探索进阶,例如学习生成器表达式,这样既能更扎实地掌握基础,又能融会贯通,获得更全面的认知升级. Python的列表是怎样滴? 列表(list)是一种有序的集合,可以随
-
PowerShell面向对象编程基础知识总结
本文介绍PowerShell面向对象编程的基础知识,我们知道PowerShell里面的所有变量和输出都是对象,所以有必要在进行PowerShell编程时了解一下面向对象编程的基础知识. 面向对象编程的引入主要是为了解决软件复杂化带来的维护等问题,早在20世纪60年代,面向对象就已经出现了.虽然C语言并不支持面向对象的特性,但是使用C语言进行开发的程序人员已经将面向对象的核心思想应用到其中,因此我们更应该理解的是面向对象的思想,而不需要纠缠于语言本身. PowerShell是基于对象的脚本语言,因
-
新手快速学习JavaScript免费教程资源汇总
"JavaScript"的名头相信大家肯定是耳熟能详,但只有一小部分人群了解它的使用与应用程序构建方式.这"一小部分"人指的当然是技术过硬的有为青年.网络程序员以及IT专业人员.但对于一位新手或者说外行人而言,"JavaScript"只不过是复杂计算机编程学科当中的另一个不知所云的术语. 那么,JavaScript到底是什么? 如果各位拥有在计算机领域的工作经验,那么绝对不能错过强大的JavaScript. 它是知名度最高的Web页面脚本语言.它
-
C#多线程基础知识汇总
最近自己写了个小爬虫,里面用到了多线程技术,忽然发现对此技术竟然有些陌生了,于是乎开始疯狂的去问度娘,在此记录下来,以便自己和各位小伙伴们学习. 一.什么是线程 一个应用程序就相当于一个进程,进程拥有应用程序的所有资源进程包括线程,进程的资源被线程共享,但不拥有线程.我们可以打开电脑中的任务管理器,运行的.exe都是一个进程,里面的分支是线程. 二.多线程 多线程其实就是进程中一段并行运行的代码 1. 创建并启动线程 static void Main() { //获取线程Id var threa
-
如何教少儿学习Python编程
如何给少儿讲编程? 1.首先给少儿讲编程一定要简单,通俗易懂. 因为少儿接触的事务比较少,你要用形象的少儿可以接受的方式让他们理解. 2.讲编程的速度一定要慢. 因为少儿的接受能力相对较弱一些,所以要适当调慢步骤. 3.讲编程一定要少儿亲手实践. 因为编程本来就是抽象的事物,如果不进行练习的话,少儿不能很好理解抽象的事物. 4.一定要多复习. 少儿的自觉力差些,课上一定要先复习再讲新的知识. 知识点扩展: 我们需要明确,给孩子上编程课的目的是什么 我想,对于中小学年龄段的孩子,编程课的主要目的应
-
Java基础学习之运算符相关知识总结
1.算术运算符 +表示加法运算符 -表示减法运算符 *表示乘法运算符 /表示除法运算符 %表示取模/取余运算符 package com.lagou.Day03; /** * 算术运算符 */ public class Demo01 { public static void main(String[] args) { //1.声明两个int类型的变量并初始化 //int ia = 6;ib = 2;//表示声明两个int类型的变量ia和ib,不推荐使用 int ia = 6; int ib = 2
-
Java必备知识之位运算及常见进制解读
目录 常见几种进制? Java八种按位运算? HashMap添加元素四步曲用到的位运算? 前奏:HashMap如何添加一个元素? 第一步曲 第二步曲 第三步曲 第四步曲 终曲:为什么HashMap底层源码用这么多位运算? 您好,我是贾斯汀,欢迎又进来学习啦! [学习背景] 学习Java的小伙伴,都知道想要提升个人技术水平,阅读JDK源码少不了,但是说实话还是有些难度的,底层源码实现的原理离不开各种常用的数据结构和算法,很多时候还会用到各种位运算,比如面试必问和工作写烂透了的HashMap,就一个
随机推荐
- SQL 注入式攻击的终极防范
- asp.net+ajaxfileupload.js 实现文件异步上传代码分享
- Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享
- Python yield 使用浅析
- python实现查找两个字符串中相同字符并输出的方法
- Javascript入门学习第六篇 js DOM编程第1/2页
- PHP及Zend Engine的线程安全模型分析
- Js中使用hasOwnProperty方法检索ajax响应对象的例子
- 图像替换新技术 状态域方法
- JS禁用页面上所有控件的实现方法(附demo源码下载)
- jquery简单实现鼠标经过导航条改变背景图
- 系统安装时文件系统的选择
- 浅谈内联函数与宏定义的区别详解
- 让apache也支持asp环境的方法
- Android几行代码实现监听微信聊天示例
- SSH框架网上商城项目第7战之整合Struts2和Json
- JS实现仿苹果底部任务栏菜单效果代码
- javascript仿126邮箱TAB切换效果
- Python爬虫天气预报实例详解(小白入门)
- PHP基于phpqrcode类生成二维码的方法详解