Go语言基础知识学习笔记1

安装教程我就不写了,推荐大家下载msc的安装包,因为他会自动帮你配置一些环境变量,但是GOPATH这个工作目录的环境变量需要自己配置

右键我的电脑->属性->高级系统设置->环境变量->新建系统变量

变量名称大写 GOPATH

路径就你的工作目录,如我的是D:/go 如果有多个工作目录就使用";"分号分割

根据约定,GOPATH下需要建立3个目录:

bin (存放编译后生成的可执行文件)
pkg (存放编译后生成的包文件)
src (存放项目源码)

查看环境变量与工作目录 控制台输入:go env

C:\>go env
set GOARCH=amd64      //CPU架构信息
set GOBIN=              //工作目录下的bin文件夹,存放编译文件
set GOCHAR=6
set GOEXE=.exe          //生成可执行文件的后缀名
set GOHOSTARCH=amd64  //当用到交叉编译的时候,你需要交叉的架构
set GOHOSTOS=windows  //当用到交叉编译的时候,你需要交叉的系统
set GOOS=windows       //当前系统的系统名称,也可能是linux,unix
set GOPATH=              //你的工作目录
set GORACE=
set GOROOT=C:\Go        //Go语言的安装目录
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64  //工具目录
set CC=gcc             //使用的编译器
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1

Go常用命令简介:

go get : 获取远程包(如果你是从github上面获取需要安装git,如果是googlecode上面获取需安装hg)

go run : 直接运行程序,在控制台显示运行的结果,方便调试

go build : 测试编译,检查是否有编译错误,如果你执行的是一个可执行文件的编译源码,会直接生成一个可执行文件

go fmt : 格式化源码(部分IDE在保存时自动调用),一般不会手动去使用这个命令,保证源码格式都是相同的

go install : 有两个功能,如果你的工作目录中有调用的包文件,它会先编译包文件,然后在编译主程序的源码,编译成功的exe程序会放在可执行目录bin下,编译的包文件会放在包目录pack下

go test : 它的作用是运行测试文件,例如文件名是 *_test.go结尾的默认都是测试文件,正常的文件不要命名成这样,在控制台直接输入 go test 它会自动测试这些以_test.go结尾的文件,并且生成一个结果报告,如果是 pass ok 就是没有错误,测试成功

go doc : 查看一个函数,或者一个包,例如:go doc fmt 会列出fmt这个包文件里的所有函数以及类型,如果你想查看单个函数,就不要在命令中加空格,例如 godoc fmt Println  查看Println这个函数,它就会输出这个函数的说明

还可以使用godoc -http=:8080 建立一个本地的8080端口的go官网,可以查看一些包的说明和文档,访问方式:localhost:8080

编译生成的包文件以.a为后缀名

编译完成的可执行文件,记得要从bin目录下拷贝到工作目录下,也就是bin目录的父级下,因为这里使用的是相对路径,不然会提示找不到文件

另外再说下go build命令 :

go build 可执行文件的源码

只有package名称为main的源码才能被go build 命令编译,也可以手动指定生成的可执行文件目录  例如:go build -os D:/111.exe test.go   会在D盘根目录下生成一个111.exe文件

如果说你的package名称不是main,而是其它的话那这只是一个单纯的包文件,当你使用go build 的时候不会产生任何的文件,而当你的package名称是main的时候它就会产生一个可执行文件

这里推荐使用的开发工具是sublime3  并且安装package control, 再安装GOsublime插件,安装完成以后重启两次编辑器

那么,我们来学习一个GO语言版的hello word!

首先使用编辑器在工作目录下的源码目录src下创建一个hellow.go文件,因为我们要创建的是一个可执行文件,所以第一行package名称为main

写main函数,注意这个main函数没有参数,也没有返回值,并且如果想执行main函数的话必须要在package main里面

package main

import("fmt")

func main(){
  fmt.Println("hello word!")
}

如果你使用了sublime,并且安装好了gosublime插件,可以在编写好代码以后按Ctrl+B 执行这个插件,然后输入go run hello.go  直接运行,会直接看到结果显示在插件里

如果你想执行go build 的话 直接运行 go build hello.go 那就会生成一个hello.exe

时间: 01-16

Go语言基础知识学习笔记1的相关文章

〖前端开发〗HTML/CSS基础知识学习笔记

经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> <body>...</body> </html> html是根标签 head定义文档头部,包含: title, script, style, link, meta body是网页主要内容,包含:h1,h2-h6, p, a, img 2. 认识head标签: <head

linux基础知识学习笔记

1.Linux介绍 Linux版本: 内核版本:最基本的核心程序,只要用于企业和个人在此基础自行开发所需功能. 发行版本:在内核基础上增加了一些常用软件,满足企业和用户直接使用的基本需求. Linux应用领域: 个人桌面:图形桌面开发 服务器领域:整个系统就像dos命令行一样,全部命令操作. 嵌入式领域(智能硬件):在Linux基础上开发自己所需的功能然后将程序烧到硬盘中去执行. 后两个实用最广泛: 2.Linux目录和文件操作 Linux目录: Linux的四种文件类型: 1.可分享的 可以分

Java基础知识学习笔记(一)

理解面向对象: Java纯粹的面向对象的程序设计语言,主要表现为Java完全支持面向对象的三个基本特征:继承.封装.多态. Java程序的最小单位是类,类代表客观世界中具有某种特征的一类事物,这些类可以生成系统中的多个对象,而这些对象直接映射成客观世界的各种事物,整个Java程序由一个一个的类组成. 结构化(主张按功能把软件逐步细分,面向功能)/面向对象程序设计:(分析>设计>编程)SA/OOA > SD/OOD > SP/OOP 结构化程序设计最小的程序单元是函数,每个函数都负责

R语言基础知识学习(四):R中的画图函数--plot()函数

plot()函数是R中基本的画x-y两个变量的函数,其用法如下为:plot(x, y, ...) 例如:首先我用runif()函数产生了两列随机数:x1,y1,然后用plot()函数直接画图: > x1 <- round(runif(20,min = 0 ,max = 100))> x1 [1] 90 84 86 86 28 43 86 76 90 76 14 62 40 52 87 57 88 17[19] 10 27> y1 <- round(runif(20,min =

python之 前端HTML/CSS基础知识学习笔记

1. 文件结构: HTML文件的固定结构: <html> <head>...</head> <body>...</body> </html> html是根标签 head定义文档头部,包含: title, script, style, link, meta body是网页主要内容,包含:h1,h2-h6, p, a, img 2. 认识head标签: <head> <title>...</title>

java语言基础,学习笔记

001源代码编辑器输出字节码文件jvmeclipse中新建class文件,以及遇到基本错误的修改 public class A{ public static void main(String[] args){ System.out.printf("welcome to beijing lily") }}public ststic修饰符void返回类型为空main方法名()参数String字符型[]数组args参数值 //可修改 002 用记事本编写了java源程序并运行jdk下载及环境

汇编语言基础知识学习笔记(一)

汇编语言发展至今,由下列三类指令组成. 1.     汇编指令:机器码的助记符,有对应的机器码. 2.     伪指令:没有对应的机器码,由编译器执行,计算机并不执行. 3.     其他符号:如:+.-.*./等,由编译器识别,没有对应的机器码. 汇编语言的核心是汇编指令,它决定了汇编语言的特性. 一.     CPU对存储器的读写 CPU要想进行数据的读写,必须和芯片进行3类的信息交互: 1.     存储单元的地址(地址信息) 2.     芯片的选择,读或写的命令(控制信息) 3.   

汇编语言基础知识学习笔记(二)

一.寄存器(CPU工作原理) CPU由运算器.控制器.寄存器等器件构成.在CPU中,运算器进行信息处理:寄存器进行信息存储:控制器控制各种器件进行工作:内部总线连接各种器件,在它们之间进行数据传送. 不同的CPU寄存器的个数.结构是不一样的. 8086CPU有14个寄存器:AX.BX.CX.DX.SI.DI.SP.BP.IP.CS.SS.DS.ES.PSW. 8086CPU的AX.BX.CX.DX四个寄存器可分为两个8位寄存器来使用: AX:AH和AL: BX:BH和BL: CX:CH和CL:

JAVA 基础知识学习笔记 名称解释

Java ee:? IDE: ? itegrity   development environment 集成开发环境 JMS:? java Message Service java   信息服务 JMX? Java Management Extensions,即Java管理扩展 JNDI:(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司 提供的一种标准的Java命名系统接口,JNDI提供统一的客户端 API,通过不同的访问提供者接口J