文档章节

go编程基础

xiejunbo
 xiejunbo
发布于 2015/04/23 21:51
字数 554
阅读 61
收藏 0

Go于2009年正式由谷歌发布.

Go的主要特点:

1.类型安全和内存安全

2.以直观和低代价的方案实现高并发

3.高效的垃圾回收机制

4.快速编译(同时解决C语言中头文件太多的问题)

5.为多核计算机提供性能提升方案

6.UTF-8编码支持,原生支持UTF-8


Go的实际应用和资源:

  1. 全球最大视频网站Youtube(谷歌)

  2. 七牛云存储以及网盘服务(Q盘)

  3. 已在服务端使用Go开发的著名企业:谷歌,盛大网络,七牛,360.


安装Go语言:

  1. Go源码安装

  2. Go标准包安装

  3. 第三方工具安装


Go环境变量与工作目录:

Gopath下需要建立3个目录:

  1. bin:存放编译后生成的可执行文件

  2. pkg:存放编译后生成的包文件

  3. src:存放项目源码


命令行:go env    显示go环境变量配置

Go常用命令:

go get:获取远程包,需提前安装git或hg

go run:直接运行程序

go build:测试编译,检查是否有编译错误

go fmt:格式化源码(部分IDE在保存时自动调用)

go install:编译包文件并编译整个程序

go test:运行测试文件

go doc:查看文档(chm手册)

在浏览器上浏览go官方网站:命令行输入:godoc -http=:8080    即可在浏览器输入:localhost:8080查看


约定:函数名小写即为private  大写即为public

基本类型:

  1. bool类型:true false  占1字节,不可用0,1代替

  2. 整型:int/uint 根据运行平台可能为32位或64位

  3. 8位整型:int8/uint8  占1字节

    4.接口类型:interface

 5.函数类型:func

类型零值:当变量被声明为某种类型后的默认值,通常情况下的默认值为0,bool为false,string为空字符串


指针:

Go虽然保留了指针,但不支持指针运算以及-->运算符,而是直接采用 . 选择符来操作指针目标对象的成员,

操作符&取变量地址,使用*通过指针间接访问目标对象,默认值为nil而非null.










© 著作权归作者所有

共有 人打赏支持
xiejunbo
粉丝 41
博文 150
码字总数 132363
作品 0
广州
后端工程师
Go开发实战

写这本书主要是灵感来自于: https://github.com/thekarangoel/Projects 然后我就想到了当初做PHP的时候,也有类似的项目,觉得golang也可以实现一个类似的书籍,暂且把书名定为《Go实战开发...

astaxie
2013/08/05
6.1K
0
深度机器学习56G视频资源分享

此视频教程是朋友的技术群分享出来的,我们都要有分享精神,所以分享给我的朋友们,并且希望你们转发出去分享给更多的人 深度学习分为三部分: 深度神经网络算法之数学基础 深度神经网络算法...

互扯程序
2017/12/19
0
0
扒一扒传智播客深藏在背后的内幕

扒一扒传智播客深藏在背后的内幕 —— 传智坚持开Java基础班有何猫腻 Java基础太简单,自学一个月就能搞定?大学学了计算机基础的,感觉报基础班有点浪费钱,浪费时间!找工作会项目都行了,...

小梦想家
2015/12/25
428
0
《程序员的数学》1-2-3.PDF

简介 如果数学不好,是否可以成为一名程序员呢?答案是肯定的。 本书最适合:数学糟糕但又想学习编程的你。 没有晦涩的公式,只有好玩的数学题。 帮你掌握编程所需的“数学思维”。 日文版已...

jackmk
2017/12/21
0
0
网易java实习生面试10个问题,你会几个?

此前,w3cschool app分享了阿里巴巴java面经、小米java面经、网易java面经。 近日,我们在w3cschool app开发者头条上,可以看到网易java实习生面经。 在分享网易java实习生面经之前,我们还是...

W3Cschool
2017/12/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Web系统大规模并发:电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常...

xtof
今天
1
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
今天
6
0
在Ubuntu安装和配置Sphinx

Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。 在开始本指南之前,您需要: 一个Ubuntu 16.04服务器。 sudo的一个非root用户,您可以通过以下设置本教程 。 安装在服务...

阿锋zxf
今天
1
0
Qt编写输入法V2018超级终结版

对于qt嵌入式linux开发人员来说,输入法一直是个鸡肋问题,要么不支持实体键盘同步,要么不能汉字输入,要么不支持网页输入等,这几年通过陆续接触大量的各种输入法应用场景客户,得到真实需...

飞扬青云
今天
2
0
TypeScript基础入门之高级类型的多态的 this类型

转发 TypeScript基础入门之高级类型的多态的 this类型 高级类型 多态的this类型 多态的this类型表示的是某个包含类或接口的子类型。 这被称做F-bounded多态性。 它能很容易的表现连贯接口间的...

durban
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部