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程序结构

  1. Go程序是通过 package 来组织的,只有 package 名称为 main 的包可以包含 main 函数,一个可执行程序 有且仅有 一个 main 包
  2. import 关键字来导入其它非 main 包
  3. const 关键字来进行常量的定义
  4. 在函数体外部使用 var 关键字来进行全局变量的声明与赋值
  5. type 关键字来进行结构(struct)或接口(interface)的声明
  6. 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.基础的更多相关文章

  1. Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析

    转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编 ...

  2. Qt入门之基础篇(三):掌握Qt4的静态编译基本方法

    转载载请注明出处:CN_Simo. 导语: 前两章都提到过“静态编译”(Static Compilation),在Windows下一次静态编译差不多需要长达三个小时才能完成,而且还非常容易由于各种原因 ...

  3. Spring Boot 入门之基础篇(一)

    原文地址:Spring Boot 入门之基础篇(一) 博客地址:http://www.extlight.com 一.前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是 ...

  4. Python之路,第一篇:Python入门与基础

    第一篇:Python入门与基础 1,什么是python? Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 2,python的特征: (1)易于学习,易于利用: (2)开 ...

  5. 8 张脑图入门 JavaScript - 基础面试不倒

    8 张脑图入门 JavaScript - 基础面试不倒 转载请注明出处 第一:JavaScript 的变量 第二:JavaScript 运算符 第三:JavaScript 数组 第四:JavaScri ...

  6. Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装

    转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...

  7. Git 快速入门--Git 基础

    Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...

  8. Unix操作系统的入门与基础

    http://dev2dev.cnblogs.com/archive/2005/10/10/251894.aspx Unix操作系统的入门与基础 与大家熟悉的Windows用户界面和使用习惯不同,Un ...

  9. Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)

    Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...

  10. Python入门篇-基础语法

    Python入门篇-基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编程基础 1>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程 ...

随机推荐

  1. 阿里云服务器 OSS的使用限制

    使用限制 更新时间:2019-02-12 16:50:27 编辑 · OSS的使用限制及性能指标如下:   限制项 说明 归档存储 已经存储的数据从冷冻状态恢复到可读取状态需要 1 分钟的等待时间. ...

  2. Java案例:随机点名器

    案例介绍: 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息.需具备以下3个内容:1)存储所有同学姓名2)总览全班同学姓名3)随机点名其中一人,打印到控制台 案例需求分析: 全班同 ...

  3. 【python】Python 中的 classmethod 和 staticmethod

    Python 中的 classmethod 和 staticmethod 有什么具体用途? 推荐地址:http://www.cnblogs.com/wangyongsong/p/6750454.htm ...

  4. Webpack 学习2

    webpack + react 优化:缩小js包体积 webpack 介绍 & 安装 & 常用命令 30分钟手把手教你学webpack实战 Webpack 中文指南

  5. Tarjan求缩点化强连通图

    Describe: 求一个有向图加多少条边可以变成一个强连通图 Solution: Tarjan缩点染色后,判断出度和入度,所有点的出度 = 0 的和 和 入度 = 0 的和的最大值即为所求. 缩点染 ...

  6. HDU3506环形石子合并问题

    HDU3506环形石子合并问题 线性的石子合并问题比较好理解,环形的转成线性的方法就是扩展数组 1 2 3 . . . n 1 2 3 ... n 依据是我们最优的取值可以是 1 --- n也能是 2 ...

  7. cxgrid显示海量数据

    cxgrid显示海量数据 在默认情况下,cxgrid显示几万条以上的数据会很慢.怎么办? 交下面的属性设为TRUE以后,速度飞快. 但速度是快了,自动计算列的合计值这些功能却失效了,正所谓有得必有失!

  8. iOS4.0及以上系统,关闭程序,applicationWillTerminate为调用问题解决

    iOS4.0以后系统支持多任务类型,程序按下home键后,程序进入后台运行,如果内存不足被系统关闭或者手动关闭,都不会调用applicationWillTerminate回调函数. 解决方法:可以在程 ...

  9. 2015年 10月最新苹果IOS上架App Store商店步骤

    1.1.前期工作 首先你需要有一个苹果的开发者帐号,一个Mac系统. 如果没有帐号可以在打开http://developer.apple.com/申请加入苹果的开发者计划.支付99美元每年,怎么申请网 ...

  10. Sql递归关联情况,With作为开头条件。

    with Test_Recursion(Id,ParentId)AS(select Id,ParentId  from [V_KPI_DetailsActivities] where ParentId ...