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. Java数据类型——面试题

    1.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 +=1;有什么错? 答:对于short s1=1;s1=s1+1来说,在s1+1运算时会自动提升表 ...

  2. eclipse中去掉警告提示

    有时候我们要去掉这些不必要的提示 下面我们来设置去掉这些警告提示

  3. Android中获取手机电量信息

    有些时候我们需要在我们的应用上为用户展示当前手机的电量,这时候我们就需要用到广播了,我们都知道在动态注册广播的时候,我们需要传入一个BroadcastReceiver类对象,还有一个意图过滤器Inte ...

  4. throws和throw的用法例子以及检测和非检查异常

    throws E1,E2,E3 只是告诉程序这个方法可能会抛出这些个异常,方法的调用者可能要处理这些异常.而这些异常E1,E2,E3可能是该函数体产生的. 而throw是明确之处这个地方要抛出这个异常 ...

  5. 阿里云 centOS7.4新装nginx 不能访问

    反复装了几遍ngxin,什么防火墙,nginx.conf改了好几次都不能访问外网的ip, 原因是阿里云这货新的服务器根本就没开通443,80端口,真是坑人啊 点击配置规则,增加端口就行了 添加安全规则 ...

  6. xlearn安装

    xlearn简介 xLearn is a high performance, easy-to-use, and scalable machine learning package, which can ...

  7. WCF基础:绑定(二)

    在WCF的绑定体系中,经常会碰到ICommunicationObject接口,无论是IChannel接口还是IChannelListener/IChannelFactory接口都继承了ICommuni ...

  8. win8 商店应用 设计风格原则

    共八条: 1,突出内容(数据). a,仅在屏幕上保留最相关的元素:移除线条.框和不必要的图形效果:限制屏幕上持久显示的导航框,如选项卡. b,交互尽量直接在内容上,直接控制内容来完成操作,而不是使用控 ...

  9. LeetCode OJ:Combination Sum II (组合之和 II)

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  10. MySQL密码过期

    1.用mysql命令行登录mysql的root用户 2.重新修改root密码 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); my ...