Go语言(一):程序结构(命名和声明)

                                         Go语言(一):程序结构(命名和声明)

 摘之《Go语言圣经》

一、命名:

1、Go语言中的函数名、 变量名、 常量名、 类型名、 语句标号和包名等所有的命名, 都遵循一个简单的命名规则: 一个名字必须以一个字母( Unicode字母) 或下划线开头, 后面可以跟任意数量的字母、 数字或下划线。 大写字母和小写字母是不同的: mybabyt和Mybaby是两个不同的名字。


2、Go语言中类似if和switch的关键字有25个; 关键字不能用于自定义名字, 只能在特定语法结构中使用。
break  default  func  interface  select  case  defer  go  map  struct  chan  else  goto  package  switch  const  fallthrough  if  range  type  continue  for  import  return  var


3、此外, 还有大约30多个预定义的名字, 比如int和true等, 主要对应内建的常量、 类型和函数。
内建常量: true false iota nil


内建类型: int int8 int16 int32  int64  uint  uint8  uint16  uint32  uint64  uintptr  float32  float64  complex128  complex64  bool  byte  rune  string  error


内建函数: make len cap new append copy close delete  complex real imag  panic recover

上述的预定义的名字可以重定义,然后再使用;
 

4、名字的开头字母的大小写决定了名字在包外的可见性。 如果一个名字是大写字母开头的( 译注: 必须是在函数外部定义的包级名字; 包级函数名本身也是包级名字) , 那么它将是导出的, 也就是说可以被外部的包访问, 例如fmt包的Printf函数就是导出的, 可以在fmt包外部访问。 包本身的名字一般总是用小写字母。
 

二、声明

1.Go语言主要有四种类型的声明语句: var、 const、 type和func, 分别对应变量、 常量、 类型和函数实体对象的声明。

一个Go语言编写的程序对应一个或多个以.go为文件后缀名的源文件中。 每个源文件以包的声明语句开始, 说明该源文件是属于哪个包。 包声明语句之后是import语句导入依赖的其它包,然后是包一级的类型、 变量、 常量、 函数的声明语句, 包一级的各种类型的声明语句的顺序无关紧要( 译注: 函数内部的名字则必须先声明之后才能使用)
例子:

package main
import "fmt"
const boilingF = 212.0
func main() {
    var f = boilingF
    var c = (f - 32) * 5 / 9
    fmt.Printf("boiling point = %g°F or %g°C\n", f, c)
}

其中常量boilingF是在包一级范围声明语句声明的, 然后f和c两个变量是在main函数内部声明的声明语句声明的。 在包一级声明语句声明的名字可在整个包对应的每个源文件中访问, 而不是仅仅在其声明语句所在的源文件中访问。 相比之下, 局部声明的名字就只能在函数内部很小的范围被访问。

2、一个函数的声明由一个函数名字、 参数列表( 由函数的调用者提供参数变量的具体值) 、 一个可选的返回值列表和包含函数定的函数体组成。 如果函数没有返回值, 那么返回值列表是省略的。 执行函数从函数的第一个语句开始, 依次顺序执行直到遇到renturn返回语句, 如果没有返回语句则是执行到函数末尾, 然后返回到函数调用者。

3、最后正常的函数调用也符合C语言的函数调用思想,一个功能函数的实现,可以多次调用使用,这是语言的“继承”吧
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值