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>.程序 一组能让计算机识别和执行的指令. 程序 >.算法+ 数据结构= 程 ...
随机推荐
- redis的repl-ping-slave-period和repl-ping-replica-period
网上很多Redis方面的文章,会涉及到repl-ping-slave-period和repl-ping-replica-period这两个重要参数,从一些中文解释来看,意思差不多,即:SLAVE周期性 ...
- UIActivityIndicatorView 的使用
// // UIActivityIndicator.m // ToolBar // // Created by lanouhn on 15/1/3. // Copyright (c) 2015 ...
- spring boot jpa 多条件组合查询带分页的案例
spring data jpa 是一个封装了hebernate的dao框架,用于单表操作特别的方便,当然也支持多表,只不过要写sql.对于单表操作,jpake可以通过各种api进行搞定,下面是一个对一 ...
- java基础-day26
第03天 java基础加强 今日内容介绍 u BeanUtils概述及使用 u XML简介及约束 u XML解析 第1章 XML简介 1.1 XML基本语法 1.1.1 XML概述 XML全称为 ...
- NoSQL数据库的分布式算法
本文译自 Distributed Algorithms in NoSQL Databases 系统的可扩展性是推动NoSQL运动发展的的主要理由,包含了分布式系统协调,故障转移,资源管理和许多其他特性 ...
- SRM482
250pt 题意:给定n把锁,第i轮每间隔i个打开一个木有打开的.问最后打开的事几 思路:直接vector模拟 code: #line 7 "LockersDivOne.cpp" ...
- shell 命令 rz sz
尝试了几个版本,下面的是可用的 https://segmentfault.com/a/1190000012166969
- 纯净得只剩下字的访问IP查询API
纯净得只剩下字的访问IP查询API 实用资源 / 2018-02-26 / 3 条评论 看到一个好玩的,就随手收藏一下,本API作用:获取用户真实IP,而获取用户IP常见的坑有两个,开发支付的时候也需 ...
- python threading模块2
Thread 是threading模块中最重要的类之一,可以使用它来创建线程.有两种方式来创建线程:一种是通过继承Thread类,重写它的run方法:另一种是创建一个threading.Thread对 ...
- [翻译]第三天- 在 Mac 上运行 .NET Core 应用程序
原文: http://michaelcrump.net/part3-aspnetcore/ *** 简介 该系列文章的完整列表如下: 第一天 - 在 Windows 下安装和运行 .NET Core ...