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. spring半自动代理

    1.被代理类接口Person.java package com.xiaostudy; /** * @desc 被代理类接口 * * @author xiaostudy * */ public inte ...

  2. code for 1 - 分治

    2017-08-02 17:23:14 writer:pprp 题意:将n分解为n/2, n%2, n/2三部分,再将n/2分解..得到一个序列只有0和1,给出[l, r]问l到r有几个1 题解:分治 ...

  3. Pandas数据结构

    Pandas处理以下三个数据结构 - 系列(Series) 数据帧(DataFrame) 面板(Panel) 这些数据结构构建在Numpy数组之上,这意味着它们很快. 维数和描述 考虑这些数据结构的最 ...

  4. scala学习手记38 - 方法命名约定和for表达式

    方法命名约定 之前在学习<运算符重载>一节时曾经说过一个方法命名约定:方法的第一个字符决定了方法的优先级.现在再说另一个命名约定:如果方法以冒号(:)结尾,则调用目标是运算符后面的实例. ...

  5. Springboot- Spring缓存抽象学习笔记

    Spring缓存作用准备: 1.准备数据(准备一个有数据的库和表/导入数据库文件,准备好表和表里面的数据) 2.创建javaBean封装数据 3.整合MyBatis操作数据库( 这里用MyBatis) ...

  6. 查询相应的key

    一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符  *.?.[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 ...

  7. spring mvc : 中文传值(post/get)中文乱码

    请将以下代码放入 web.xml文件中,注意存放顺序,否则会报错.filter应该放在context-param后面: <!-- 字符过滤器 --> <filter> < ...

  8. Sql Server 中关于@@ERROR的一个小小误区

    我们经常写存储过程的时候会用到@@ERROR来判断执行是否成功,很久没有写复杂点的存储过程了,今天发现前段时间写的一个proc出现了bug,由于定义参数时,字符串长度设的有点短,导致传进来的值中间被截 ...

  9. 20165332实验三 敏捷开发与XP实践

    20165332实验三 敏捷开发与XP实践 实验内容 1:XP基础 2:XP核心实践 3:相关工具 实验1 在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化, ...

  10. pipenv安装库使用国内镜像

    pipenv install django超级慢,卡住不动,最后不得不CTRL+C中止 这时有必要改成国内源了,打开Pipfile文件,发现内容是: [[source]] verify_ssl = t ...