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. 通过wifi连接android设备的方法

    [转自]http://blog.csdn.net/kuanxu/article/details/7444874 最近由于要在另外一台android设备上调试代码,在本机PC上查看其log.两台机器离的 ...

  2. python技术

    要把zabbix弄成自动监控,下发任务,部署,事件恢复得功能

  3. 如何在MyEclipse中更改servlet模板 Jsp模板

    http://blog.csdn.net/sjw890821sjw/article/details/6995190 刚换上Myeclipse9.0,结果要修改servlet模板的时候不像Myeclps ...

  4. java 在Excel中插入图片 POI实现

    一.POI简介 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API 目前比较成熟的是HSSF接口,处理MS Excel(97- ...

  5. UnsupportedOperationException

    java不支持该功能,多见于, Arrays.asList() ,然后使用remove和add方法.     因为asarraylist的集合是一个转化来的集合,它的大小是固定的.不能进行长度修改. ...

  6. UVALive 4270 Discrete Square Roots

    题目描述: 在已知一个离散平方根的情况下,按照从小到大的顺序输出其他所有的离散平方根. 在模n意义下,非负整数x的离散平方根是满足0<=r<n且r2=x(mod n)的整数r. 解题思路: ...

  7. Linux CentOS服务启动

    Linux CentOS下如何确认MySQL服务已经启动   Linux CentOS一般做为服务器使用,因此,MySQL服务应该随开机自动启动的.正常情况下,查看开机自动启动的服务使用chkconf ...

  8. Agilent RF fundamentals (5)

    2考虑两个因素 3 RX 4 TX RX switch use Duplexer

  9. Android数据库代码优化(1) - 从Google的数据库guide说起

    假如我们没有任何在Android上使用SQLite的经验,现在要开始在工作中用SQLite存储一些数据.OK, 我们去看google的官方培训文档吧,http://developer.android. ...

  10. Freemarker 自定义标签 实现TemplateDirectiveModel

    1 自定义标签需要实现TemplateDirectiveModel这个接口中的execute方法 实例代码如下 public class UserListDirective implements Te ...