加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang程序结构概述

发布时间:2020-12-16 09:45:37 所属栏目:大数据 来源:网络整理
导读:1. 命名规范 Go中函数、变量、常量、类型、语句标签和包的名称遵循一个简单的规则:名称的开头是一个字母或者下划线,后面可以跟任意数量的字符、数字和下划线,区分大小写。 Go中有25个关键字,不能够作为名称 另外还有三十多个内置的预声明的常量、类型和

1. 命名规范

Go中函数、变量、常量、类型、语句标签和包的名称遵循一个简单的规则:名称的开头是一个字母或者下划线,后面可以跟任意数量的字符、数字和下划线,区分大小写。
Go中有25个关键字,不能够作为名称


另外还有三十多个内置的预声明的常量、类型和函数

2. 声明

声明给一个程序实体命名,并且设定了其全部或者部分属性。Go语言主要有四种类型的声明语句:var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明。

2.1 var 变量

变量是创建一个具体类型的变量,然后给它附加一个名字,设置它的初始值。
【1】短变量声明:最少声明一个新变量,否则编译错误
【2】指针:变量存储值得地方。指针的值是一个变量的地址,一个指针指向值保存的位置。不是所有的值都有地址,但是所有的变量都有。使用指针可以无需知道变量名字的情况下,间接读取或者更新变量的值。每次使用变量的地址或者复制一个指针,我们就创建了新的别名或者方式来标记同一变量。函数可以返回局部变量的地址是安全的。

//*运算表示获取指针地址的值
//&取地址表示返回变量值得地址

【3】调用内置的new函数。表达式new(T)将创建一个T类型的匿名变量,初始化为T类型的零值,然后返回变量地址,返回的指针类型为*T 。
【4】变量的作用周期。一个变量的有效周期只取决于是否可达,因此一个循环迭代内部的局部变量的生命周期可能超出其局部作用域。同时,局部变量可能在函数返回之后依然存在。

2.2 type 类型

变量或表达式的类型定义了对应存储值的属性特征,例如数值在内存的存储大小(或者是元素的bit
个数),它们在内部是如何表达的,是否支持一些操作符,以及它们自己关联的方法集等。
在任何程序中都会存在一些变量有着相同的内部结构,但是却表示完全不同的概念。例如,一个int
类型的变量可以用来表示一个循环的迭代索引、或者一个时间戳、或者一个文件描述符、或者一个
月份;一个float64类型的变量可以用来表示每秒移动几米的速度、或者是不同温度单位下的温度;
一个字符串可以用来表示一个密码或者一个颜色的名称。
一个类型声明语句创建了一个新的类型名称,和现有类型具有相同的底层结构。新命名的类型提供
了一个方法,用来分隔不同概念的类型,这样即使它们底层类型相同也是不兼容的。

type 类型名字 底层类型

const 常量

常量表达式的值在编译期计算,而不是在运行期。每种常量的潜在类型都是基础类型:boolean、string或数字。
一个常量的声明语句定义了常量的名字,和变量的声明语法类似,常量的值不可修改,这样可以防止在运行期被意外或恶意的修改。例如,常量比变量更适合用于表达像π之类的数学常数,因为它们的值不会发生变化。
所有常量的运算都可以在编译期完成,这样可以减少运行时的工作,也方便其他编译优化。当操作数是常量时,一些运行时的错误也可以在编译时被发现,例如整数除零、字符串索引越界、任何导致无效浮点数的操作等。常量间的所有算术运算、逻辑运算和比较运算的结果也是常量,对常量的类型转换操作或以下函数调用都是返回常量结果:len、cap、real、imag、complex和unsafe.Sizeof。
常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不用每行都写一遍初始化表达式。在一个const声明语句中,在第一个声明的常量所在的行,iota将会被置为0,然后在每一个有常量声明的行加一。

/*
 位移操作 << : 向左移位     可以看做是 乘以2的几次方
 位移操作 >> : 向右移位     可以看做是 除以2的几次方
 and操作 & : 都为1 才是1
 or 操作 | : 只要有一个是1 那么就是1
 取反 ^ :有一个为1  则 就是1  两个1 或者两个0  全是 0
 标志位操作 &^ :  a &^ b  =  (a^b) & b   其实就是清除标
    (将a中为1的位  如果b中相同位置也为1,则将a中该位置修改为0a中其他位不变)
*/

func 函数(或者方法)

函数可以让我们将一个语句序列打包为一个单元,然后可以从程序中其它地方多次调用。函数的机制可以让我们将一个大的工作分解为小的任务,这样的小任务可以让不同程序员在不同时间、不同地方独立完成。一个函数同时对用户隐藏了其实现细节。由于这些因素,对于任何编程语言来说,函数都是一个至关重要的部分。
函数声明包括函数名、形式参数列表、返回值列表(可省略)以及函数体。

func name(parameter                        

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读