Go基础知识
编程基础
- Go程序是通过package来组织的(与Python类似)
- 只有package名称为main的包可以包含main函数
- 一个可执行程序有且仅有一个main包
一般结构basic_structure.go
- 通过import关键字来导入其它非main包
- 通过const关键字来进行常量的定义
- 通过在函数外部使用var关键字来进行全局变量的声明与赋值
- 通过type关键字来进行结构(struct)或接口(interface)的声明
- 通过func关键字来进行函数的声明
示例代码
//当前程序的包名
package main
//导入其它的包
import "fmt"
//常量的定义
const PI = 3.14
//全局变量的声明和赋值
var name = "gohelper"
//一般类型的声明
type newType int
//结构的声明
type gopher struct {
}
//接口的声明
type golang interface {
}
//由main函数作为程序入口点启动
func main() {
fmt.Println("你好!!")
}
导入包名
- 导入包之后,就可以使用格式.来对包中的函数进行调用
- 如果导入的包未调用其中的函数或者类型,将会报出编译错误
package别名和省略调用
import (
std "fmt"
)
#使用别名调用包
func main() {
std.Println("Hello")
}
#省略调用
import (
. "fmt"
)
func main() {
.Println("hello world!!")
}
#不建议使用,容易混淆,而且不可以和别名同时使用
Go的可见性规则
- Go 语言中,使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包调用
- 根据约定,函数名首字母小写即为private,函数名首字母大写即为public。
简写的使用
- 在导入多个包时候可以进行简写,那么声明多个常量、全局变量、或一般类型(非接口,非结构)是否也可以用通信的方法呢?答案当然是可以的!
Go基础知识的更多相关文章
- .NET面试题系列[1] - .NET框架基础知识(1)
很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...
- RabbitMQ基础知识
RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- selenium自动化基础知识
什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...
- [SQL] SQL 基础知识梳理(一)- 数据库与 SQL
SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...
- [SQL] SQL 基础知识梳理(二) - 查询基础
SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(三) - 聚合和排序
SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...
- [SQL] SQL 基础知识梳理(四) - 数据更新
SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...
- [SQL] SQL 基础知识梳理(五) - 复杂查询
SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...
- APP测试入门篇之APP基础知识(001)
前言 最近两月比较多的事情混杂在一起,静不下心来写点东西,月初想发表一遍接口测试的总结,或者APP测试相关的内容,一晃就月底了,总结提炼一时半会也整不完.放几个早年总结内部培训PPT出来 ...
随机推荐
- php+sqlserver之如何操作sqlserver数据库
https://blog.csdn.net/xia13100004562/article/details/58598872 2016年12月19日 17:15:39 阅读数:6790 前面已经基本配置 ...
- 分形之闵可夫斯基(Minkowski)
与上一篇文章分形之正方形折线相似,闵可夫斯基分形也是分形出正方体,不同之处是它分出了两个正方体. 核心代码: static void FractalMinkowski(const Vector3&am ...
- Linux-压缩与归档
压缩:gzip/gunzip.bzip2/bunzip2.xz/unxz 归档:tar ####归档+压缩:zip 1. gzip, gunzip, zcat - compress or expand ...
- 吐嘈OpenCV的图像旋转功能 >_<7
實在出乎我的意料!OpenCV竟然連這么簡單的功能都沒有封裝!還要讓本大爺自己動手寫!強烈要求OpenCV下一個版本添加本功能! 函數功能和這個網頁一樣,只不過這個作者寫的太糟了,我把它變得簡潔了一點 ...
- 调试 .NET Framework 源代码、.DotNetCore源码
调试 .NET Framework 源代码..DotNetCore源码 如何调试 .NET Framework 源代码 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件 .NE ...
- 【WEB前端】CSS书写规范
古语有云:不以规矩,不成方圆.不管是国还是家还是...都得有规矩加以约束.同样,在我们程序猿的代码中也有一定的规矩——W3C标准,但是我今天不会讲那么高深的道理,我只想说说,我近些日子在开发中所总结出 ...
- 使用EF6连接mariaDB出现中文查找不到数据的问题
1.问题描述 这两天使用ef6.0查询mariaDB出现了数据查询不到的情况 2.问题分析 后来发现除了这段数据查询不到,其他都能查询,于是逐步对比代码,发现其他数据都是英文的,而这句是中文的于是把条 ...
- springBoot2 基础语法
请求响应 request对象 request 对象其实是HttpServletRequest 类型, 通过它可以获取请求相关的一切信息, 包含请求信息 . 以及请求参数 ,甚至可以当成往里面存储数据[ ...
- 【转】iOS中属性与成员变量的区别
[转载自并整理 http://blog.csdn.net/itianyi/article/details/8618128] 一.类Class中的属性property 在ios第一版中,我们为输出口同时 ...
- springbootf访问静态文件资源
springboot目录结构: 网友说在springboot的配置文件中加 现在访问static目录下的jquery文件 用jquery在页面做一个弹窗 启动服务看页面效果 页面没有出现弹窗 ,连jq ...