Go语言学习笔记001-文件的基本结构

本文介绍了Go语言的基本文件结构,包括包管理、变量和常量的声明。详细讲解了变量的声明方式,批量声明以及类型推导。同时,讨论了常量的定义,使用iota进行常量枚举。还提到了匿名变量的使用规则以及其特性。此外,文章强调了函数外的语句必须以关键字开始,以及:=简短声明仅能在函数内部使用。
摘要由CSDN通过智能技术生成

Go语言文件的基本结构

package main

// 导入语句
import "fmt"

// 函数外只能放置标识符(变量\常量\函数\类型)的声明

// 程序的入口函数
func main() {
    fmt.Prrintln("Hello World!")
}

变量和常量

标识符与关键字

标识符

在变成语言中标识符就是程序员定义的具有特殊意义的此,比如变量名、常量名、函数名等等,Go语言中标识符有字母数字和_下划线组成,并且只能以字母和_开头。举几个例子:bcd__322c231

关键字

关键字是指编程语言中预先定义好的具有特殊含义的标识符。关键字和保留字都不建议作为变量名。

Go语言中有25个关键字:

包管理(2个):
	import	package

程序实体声明与定义(8个):
	chan	const	func	interface	map	struct	type	var

程序流程控制(15个):
	break	case	continue	default	defer	else	fallthrough	
	for		go		goto		if		range	return	select		switch

37个保留字:

Constants:    
true  false  iota  nil

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

Functions:   
make  len  cap  new  append  copy  close  delete
complex  real  imag
panic  recover

package main

// 声明变量
var name string
var age int
var isOk bool

// 批量声明
var (
	name string  // ""
    age int  // 0
    isOk bool  / false
)

func main() {
    name = "Golang"
    age = 14
    isOk = true
    // Go语言中函数内变量声明必须使用,不使用就编译不过去
    fmt.Print(isOk)  // 在终端中输出要打印的内容
    fmt.Printf("name is : %s", name)  // %s 占位符,使用name这个变量的值去替换占位符
    fmt.Println(age)  // 打印完指定的内容后会在后面加一个换行符
    
    // 声明变量同时赋值
    var s1 string = "abc123"
    fmt.Println(s1)
    // 类型推导(根据值判断该变量是什么类型)
    var s2 = "1123"
    fmt.Println(s2)
    // 简短变量声明,只能在函数里面用
    s3 := "acc1233"
    fmt.Println(s3)
}

匿名变量

在使用多重赋值时,如果想要忽略某个值,可以直接使用匿名变量。匿名变量用一个下划线_表示。

例如:

package main

import fmt

func bar() (int, bool) {
    return 1, true
}
func main() {
    a, _ := bar()
    _, b := bar()
    fmt.Println("a is ", a)
    fmt.Println("b is ",  b)
}

匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。

注意事项:

  1. 函数外的每个语句都必须以关键字开始(vat、const、func等)。
  2. :=不能使用在函数外。
  3. _多用于占位,表示忽略值。

常量

相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。常量的声明和变量的声明非常类似,只是把var替换成了const,常量在定义的时候必须赋值。

const pi := 3.1415
const e = 2.7182

声明了pie这两个常量之后,在整个程序运行期间它们的值都不能再发生变化了。

多个常量也可以一起声明:

const (
	pi = 3.1415926
    e = 2.7182
)

const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。

const (
	n1 = 100
    n2
    n3
)

n1 n2 n3 的值都是100。

iota

iota是go语言的常量计数器,只能在常量的表达式中使用。

iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。使用iota能简化定义,在定义枚举时很有用。

const (
	n1 = iota  // 0
    n2		   // 1
    n3         // 2
    n4         // 3
)
常见的iota使用

使用_跳过某些值

const (
	b1 = iota  // 0
    b2 = _     // 1
    b3 = iota  // 2
    b4 = iota  // 3
)

插队

const (
	c1 = iota  // 0
    c2 = 100   // 100
    c3 = iota  // 2
    c4         // 3
)

多个常量声明在一行

const (
	d1, d2 = iota + 1, iota + 2  // 1, 2
    d3, d4 = iota + 3, iota + 4  // 4, 5
)

定义数量级

const (
	_ = iota
    KB = 1 << (10 * iota)
    MB = 1 << (10 * iota)
    GB = 1 << (10 * iota)
    TB = 1 << (10 * iota)
    PB = 1 << (10 * iota)
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值