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. linux ps查进程 kill关闭进程

    原文链接:http://blog.sina.com.cn/s/blog_53855ace0100ded4.html 首先,我们需要使用linux下另外一个ps命令查找与进程相关的PID号:ps aux ...

  2. *单链表[递归&不带头结点]

    不带头结点的单链表,递归法比较简明!(必背!) 单链表的结构: typedef struct node{ int data; struct node *next; }*List,Node; 创建第一种 ...

  3. MIT Molecular Biology 笔记7 调控RNA

    视频  https://www.bilibili.com/video/av7973580/ 教材 Molecular biology of the gene 7th edition  J.D. Wat ...

  4. C#-ado.net学习笔记-会有更新

    ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...

  5. io类型

    非阻塞io from socket import * import time s=socket(AF_INET,SOCK_STREAM) s.bind(('127.0.0.1',8080)) s.li ...

  6. python 开发学习

    https://www.cnblogs.com/wj-1314/p/8476197.html

  7. Android-Recyclerview-GridView&瀑布流等效果

    由于Recyclerview是在 android.support.v7.widget.包 RecyclerView,所以需要导Recycler库: 导Recycler库: 选择项目,右键-->  ...

  8. 关于使用java自动发邮件--找不到smtphost

    今天解决报的第二个异常:Unknown SMTP host: smtp.qq.com;在找了网上的一些资料后,有看到是因为使用了代理服务器,所以无法访问.我试着用了telnet去访问,确实不行.最近都 ...

  9. Excel表格公式大全[转]

    Excel技巧网_官方微博 作者: Excel技巧网_官方微博 2016-09-23 14:05:20 举报 阅读数:21219 ​1.查找重复内容公式:=IF(COUNTIF(A:A,A2)> ...

  10. KNIME + Python = 数据分析+报表全流程

    Python 数据分析环境 数据分析领域有很多可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类需要代码编程类的工具.个人选择是python这类,包括pandas,n ...