Go-类型声明及作用域

1. 类型的作用域

  • 声明在函数内部,是函数的本地值,类似private
  • 声明在函数外部,是对当前包可见(包内所有.go文件都可见)的全局值,类似protect
  • 声明在函数外部且首字母大写是所有包可见的全局值,类似public

2. 几种声明方式

  1. var 声明变量,格式:var 变量名 变量类型
  2. const 声明常量,格式:const identifier [type] = value,iota是Go中一个特殊常量,可以认为是一个可以被编译器修改的常量,iota是Go语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。
  3. type(声明类型)如:结构体
// 结构体声明格式
type 类型名 struct { 
	字段名 字段类型 
	字段名 字段类型 
	… 
}
// 类型名:标识自定义结构体的名称,在同一个包内不能重复
// 字段名:表示结构体字段名。结构体中的字段名必须唯一
// 字段类型:表示结构体字段的具体类型
type student struct {
	name string
	age int
}

type student struct {
	name string
	age int
}
var s student
s.name = "Mossil"
s.age = 18
fmt.Println(s)
  1. func(声明函数)格式:func function_name( [parameter list] ) [return_types] { 函数体 } Go语言中的函数有以下几个特点
    (1). 无需声明原型
    (2). 支持不定传参
    (3). 支持多个返回值
    (4). 支持命名返回参数
    (5). 支持匿名函数和闭包
    (6). 函数也是一种类型,一个函数可以赋值给变量
    (7). 不支持嵌套 (nested) 一个包不能有两个名字一样的函数
    (8). 不支持重载 (overload)
    (9). 不支持默认参数 (default parameter)
// 类型相同的相邻参数 参数类型可合并 多返回值必须用括号
func test(x, y int, s string) (int, string) {
	n := x + y return n, s 
}

func dome() {
 fmt.Println("dome") 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值