GO入门——1.基础
1 安装配置与命令
GOROOT:Go根目录
GOPATH:GO工作目录,其目录下需要建立一下三个子目录
- bin :存放编译后生成的可执行文件
- pkg :存放编译后生成的包文件
- src :存放项目源码
常用GO命令
- go get:获取远程包(需 提前安装 git或hg)
- go run:直接运行程序
- go build:测试编译,检查是否有编译错误
- go fmt:格式化源码(部分IDE在保存时自动调用)
- go install:编译包文件并编译整个程序
- go test:运行测试文件
- go doc:查看文档
- godoc -http ":80" :本地启动Go的文档可通过localhost访问
2 基本规则
2.1 Go程序结构
- Go程序是通过 package 来组织的,只有 package 名称为 main 的包可以包含 main 函数,一个可执行程序 有且仅有 一个 main 包
- import 关键字来导入其它非 main 包
- const 关键字来进行常量的定义
- 在函数体外部使用 var 关键字来进行全局变量的声明与赋值
- type 关键字来进行结构(struct)或接口(interface)的声明
- func 关键字来进行函数的声明
2.2 package
- 导入包之后,就可以使用格式.
来对包中的函数进行调用 - 如果导入包之后 未调用 其中的函数或者类型将会报出编译错误
- 当使用第三方包时,包名可能会非常接近或者相同,此时就可以使用别名来进行区别和调用
- 省略调用,不建议使用,易混淆,不可以和别名同时使用
import f "fmt" //别名
import (
. "fmt" //省略调用
)
import (
"fmt"
"io"
"net/http"
) //import多个包导入,常量、全局变量和type等都可以这样
2.3 可见性
Go语言中,使用 大小写 来决定该 常量、变量、类型、接口、结构
或函数 是否可以被外部包所调用:
- 函数名首字母 小写 即为private
- 函数名首字母 大写 即为public
2.4 Go基本结构
//当前程序包名
package main
//导入其他包
import "fmt"
//常量的定义
const PI = 3.14
//全局变量的定义
var str string = "Hello World !"
//一般类型声明
type newType int
//结构的声明
type gopher struct{}
//结构的声明
type golang interface{}
//main主函数,也是程序的入口
func main(){
fmt.Println(str)
}
GO入门——1.基础的更多相关文章
- Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析
转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编 ...
- Qt入门之基础篇(三):掌握Qt4的静态编译基本方法
转载载请注明出处:CN_Simo. 导语: 前两章都提到过“静态编译”(Static Compilation),在Windows下一次静态编译差不多需要长达三个小时才能完成,而且还非常容易由于各种原因 ...
- Spring Boot 入门之基础篇(一)
原文地址:Spring Boot 入门之基础篇(一) 博客地址:http://www.extlight.com 一.前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是 ...
- Python之路,第一篇:Python入门与基础
第一篇:Python入门与基础 1,什么是python? Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 2,python的特征: (1)易于学习,易于利用: (2)开 ...
- 8 张脑图入门 JavaScript - 基础面试不倒
8 张脑图入门 JavaScript - 基础面试不倒 转载请注明出处 第一:JavaScript 的变量 第二:JavaScript 运算符 第三:JavaScript 数组 第四:JavaScri ...
- Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装
转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...
- Git 快速入门--Git 基础
Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...
- Unix操作系统的入门与基础
http://dev2dev.cnblogs.com/archive/2005/10/10/251894.aspx Unix操作系统的入门与基础 与大家熟悉的Windows用户界面和使用习惯不同,Un ...
- Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)
Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...
- Python入门篇-基础语法
Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程 ...
随机推荐
- 严格别名规则“-fstrict-aliasing”和“-fno-strict-aliasing”及类型双关
“-fstrict-aliasing”表示启用严格别名规则,“-fno-strict-aliasing”表示禁用严格别名规则,当gcc的编译优化参数为“-O2”.“-O3”和“-Os”时,默认会打开“ ...
- Ng第十课:应用机器学习的建议(Advice for Applying Machine Learning)
10.1 决定下一步做什么 10.2 评估一个假设 10.3 模型选择和交叉验证集 10.4 诊断偏差和方差 10.5 归一化和偏差/方差 10.6 学习曲线 10.7 决定下一步做什么 ...
- 2018-04-11 activity周期
android相机开发 1.Android wifi热点连接过程 2.bindservice和AIDLhttps://blog.csdn.net/zhou_wenchong/article/detai ...
- 20145232 韩文浩 《Java程序设计》第3周学习总结
教材学习内容总结 在第三章中,知道了Java可区分为基本类型和类类型两大类型系统,其中类类型也称为参考类型.在这一周主要学习了类类型. 对象(Object):存在的具体实体,具有明确的状态和行为 类( ...
- bootstrap阶段测验【答案】
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- day01_雷神_Python入门
day01 1.编程语言 主流的像C.java.python.php.C#.等,可以从不同维度分类如下: 机器码和字节码 机器码: C 字节码: 其他 note: 机器码是电脑的CPU可直接解读的数据 ...
- 点聚weboffice插件自定义菜单
https://blog.csdn.net/u014547764/article/details/53818637 1.在jsp中引用excel插件:首先项目中要有:WebOffice.zip.web ...
- WebApi使用JWT认证
https://www.cnblogs.com/wangyulong/p/8727683.html https://blog.csdn.net/kebi007/article/details/7286 ...
- Centos7 下一键安装JDK和Maven
JDK 1. 使用yum search java|grep jdk 查看jdk版本 2. 选择版本安装 yum install java-1.7.0-openjdk,如果用1.8的,只用改版本号即可. ...
- 5. ASP.NET MVC 中的Areas【区域】是什么
[PS返回上一篇:-->4.ASP.NET MVC 5.0 视图之模型绑定] 从ASP.NET MVC 2.0开始,微软就提供了一个新特性:Areas[区域].Areas仅仅是用来将大型程序拆分 ...