go语言在windows下下载安装

推荐在golang中国下载 http://www.golangtc.com/download

安装....

go环境变量与工作目录
根据约定GOPATH需要建立3个目录
bin(存放编译后生成的可执行文件)
pkg(存放编译后生成的包文件 .a)
src(存放项目源码 比如:.go .c .h .s等)
使用go env查看环境

常用命令
go get:获取远程包(git或hg(google code))
go run :直接运行程序
go bulid :测试编译
go fmt:格式化源码
go install:(编译包文件并编译整个程序)
go test :运行测试文件(比如aa_test.go)
godoc:查看文档(chm手册 )
godoc fmt Println
构建本地官网
godoc -http=:8080

Go内置关键字
break    default    func    interface        select
case   defer   go   map   struct    chan
else   goto   package   switch    const    fallthrough
if   range    type    continue   for   import   return
var

GO程序一般结构
Go程序 是通过 package 来组织的(类似python)
只有package名称为main的包 可以包含main函数
一个可执行程序 有且仅有一个main包

通过import关键字来导入其它非main包
通过const 来进行产量的定义
通过在函数体外部使用var关键字 来进行全局变量的声明与赋值
通过type关键字进行结构(struct)或接口(interface)的声明
通过func关键字来声明函数

包的导入
import "fmt"
import "os"
import "io"
或者
import (
"fmt"
"os"
"io"
)
导入包之后,就可以使用<PackageName>.<FuncName>
调用包中的函数
如果导入包之后 未调用其中的函数或者类型 将会报出编译错误
imported and not used: "io"

package 别名
当使用第三方包时,包名可能会非常接近或相同,
此时就可以使用别名来进行区别和调用
import (
ftd "fmt"
)
或 import ftd "fmt"
fmt.Println("hello word")

省略调用

package main
import . "fmt"
func main() {
Println("hello world,你好世界! ");
} 

有别名 必须使用别名

可见性规则

Go语言中,使用大小写来决定 该常量,变量,类型
接口,结构或者函数是否可以被外部包所调用
根据约定 函数名首字母小写 即为private
首字母大写 即为public


导入多个包可以简写
声明多个变量,全局变量或一般类型(非接口,非结构)也可以

package main
import "fmt"
const (
PI=3.14
KEY=123
SEC=2
)
var (
a="hk"
b="bbc"
)
type (
name string
age int
sex int
)
func main() {
fmt.Println("hello world,你好世界!"+a+"\r\n"+b);
}
												

go语言学习杂记的更多相关文章

  1. Java编程思想学习杂记(1-4章)

    程序流程控制 移位运算符 移位运算符面向的运算对象是二进制的位,可单独用它们处理整数类型.左移位运算符(<<)能将运算符左边的运算对象向左移动运算符右侧指定的位数(在低位补0)." ...

  2. Thinking in Java学习杂记(5-6章)

    Java中可以通过访问控制符来控制访问权限.其中包含的类别有:public, "有好的"(无关键字), protected 以及 private.在C++中,访问指示符控制着它后面 ...

  3. C语言学习 第八次作业总结

    本次作业其实没有新的内容,主要就是复习上一次的一维数组的相关内容.冯老师布置了5道题目,其中涉及到一些比较简单的排序或者是查找的方法.因为数据很少,所以直接使用for循环遍历就可以了. 关于本次作业, ...

  4. C语言学习 第七次作业总结

    C语言学习 第七次作业总结 数组可以分为数组和多下标数组(在传统的国内C语言书本中,将其称为二/多维数组). 数组名称 在之前的课程中,大家应该都有印象,对于int a这样的定义,会为变量 a 声明一 ...

  5. 技能收获与C语言学习

    你有什么技能比大多人(超过90%以上)更好? 我会的东西很多,喜欢的东西太多,但是很遗憾广而不专,会而不精.学了很多东西我都是为了娱乐,因为以前我们那里过于强调学习,很多爱好也都被扼杀在摇篮里.我觉得 ...

  6. 一份关于Swift语言学习资源的整理文件

    一份关于Swift语言学习资源的整理文件     周银辉 在这里下载 https://github.com/ipader/SwiftGuide

  7. go语言学习笔记

    Go语言学习基本类型Bool 取值范围:true,false (不可以用数字代替)Int/uint 根据平台可能为32或64位int8/uint8 长度:1字节 取值范围-128~127/0~255b ...

  8. 20155206赵飞技能获取经验,C语言学习感想与对JAVA的学习目标

    自己较强的技能获取经验. 1:实话实说我自己是没有哪个技能可以超过90%的人的,只有自认为做的还可以的一些事情,例如打篮球,office软件的应用,一百米跑.至于其他方面就是很平庸了. 2:经验主要有 ...

  9. HTML语言学习笔记(会更新)

    # HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...

随机推荐

  1. Service的理解

    转自 原文 Service的理解 Service是什么?Service是一种可以在后台运行相关任务的组件.没有界面.其存在的线程是主线程,一般会通过启动子线程来执行耗时操作.Service有什么用?可 ...

  2. php中那些我还没弄明白的名词解释

    1.正则表达式引擎,引擎是什么? 2.语言构造器和函数的区别 3.可变函数

  3. selenium学习笔记(加入unittest)

    利用firefox浏览器的selenium IDE可以直接生成webdriver+unittest的python脚本 当然博主是要为了自己编写脚本.对用例内容进行了修改,把元素校验功能也放入了用例中 ...

  4. jmeter的学习(配置环境)

    jmeter是一款开源工具.解压即可使用 前提要安装配置jdk.验证jdk是否安装配置成功.运行cmd输入“ java -version” 如上图所示.jdk安装配置成功:64位版本1.8 现在即可进 ...

  5. spring: spittr实例 构建简单的web应用

    我的环境是: jdk8, spirng4 之前照者书上说的做了,不得成功,于是网上百度,不得其然. 后来看到一篇文章,甚是所感.https://segmentfault.com/q/101000000 ...

  6. poj1330lca入门题

    直接套模板,dfs的时候注意起点 #include<map> #include<set> #include<cmath> #include<queue> ...

  7. java String转Long两种方法区别

    第一种:包装类型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等8种 Long.valueOf("String")返 ...

  8. Java实现数组去除重复数据的方法详解

    一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List<Integer> list = new ArrayList<Integer ...

  9. CCF 201703-3 Markdown

    问题描述   试题编号: 201703-3 试题名称: Markdown 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Markdown 是一种很流行的轻量级标记语言(lig ...

  10. HDU-2224-双调TSP

    双调tsp的模板题,暑假时看没看懂,现在很好理解方程. f[i][j]表示dis[1...i]+dis[1...j]的最短路径长度(max(i,j)之前的点全部经过且仅经过一次),f[i][j]=f[ ...