Golang学习

golang:天生支持并发

Go语言文件的基本结构

//开头必须导入包package,如果导入的是main,则可运行为可执行文件
package main
//导入语句
import "fmt"

//函数外只能放标识符(变量、常量,函数,,,)的声明,不能放语句

//程序的入口函数,如果导入的package是main,则必须要有func main()
func main() {
	fmt.Println("hello world")

}

运行:在终端输入go build命令,生成 文件名.exe可执行文件,再运行.exe文件

标识符:go语言的标识符与其他语言一样,由字母,数字和下划线组成,并且只能以字母或下划线开头
关键字:go的关键字有25个

go语言中的每一个变量都有自己的类型,并且变量必须经常声明才能使用。

声明变量

Go语言的变量声明格式为:

var 变量名 变量类型

变量声明以关键字var开头,变量类型放在变量的后面,行尾无需分号。 举个例子:

//单独声明
var name string
var age int
var isok bool

//批量声明
var (
	name string
	age int
	isok bool

)
变量的初始化

变量初始化的标准格式如下:

var 变量名 类型 = 表达式
//举例
var name string = "Q1mi"
var age int = 18
//或者一次初始化多个变量
var name, age = "Q1mi", 20

【注】:go语言中变量声明后必须使用,全局变量可以不使用

匿名变量

在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。 匿名变量用一个下划线_表示,例如:

func foo() (int, string) {
	return 10, "Q1mi"
}
func main() {
	x, _ := foo()
	_, y := foo()
	fmt.Println("x=", x)
	fmt.Println("y=", y)
}

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

注意事项:

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

在函数内部,可以使用更简略的 := 方式声明并初始化变量。

package main

import (
	"fmt"
)
// 全局变量m
var m = 100

func main() {
	n := 10
	m := 200 // 此处声明局部变量m
	fmt.Println(m, n)
}
常量

const,常量在定义的时候必须赋值。

const pi = 3.1415

const (
    pi = 3.1415
    e = 2.7182
)

//const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。 例如:
const (
    n1 = 100
    n2
    n3
)
iota

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

  1. iota在const关键字出现时将被重置为0。
  2. const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。
  3. 使用iota能简化定义,在定义枚举时很有用。
 const (
		_  = iota
		KB = 1 << (10 * iota) //1024
		MB = 1 << (10 * iota)
		GB = 1 << (10 * iota)
		TB = 1 << (10 * iota)
		PB = 1 << (10 * iota)
	)
多个iota定义在一行

const (
		a, b = iota + 1, iota + 2 //1,2
		c, d                      //2,3
		e, f                      //3,4
	)

go语言不能定义二进制

func main() {
	//十进制
	var i1 = 101
	fmt.Printf("%d\n", i1) //%d输出十进制
	fmt.Printf("%b\n", i1) //%d输出二进制
	fmt.Printf("%o\n", i1) //%d输出八进制
	fmt.Printf("%x\n", i1) //%d输出十六进制

	//八进制,以0开头
	i2 := 077
	fmt.Printf("%d\n", i2)
	//十六进制,以0x开头
	i3 := 0x1277
	fmt.Printf("%d\n", i3)

	//查看变量的类型
	fmt.Printf("%T\n", i3)
	//查看变量的值
	fmt.Printf("%v\n", i3)
}

布尔值

Go语言中以bool类型进行声明布尔型数据,布尔型数据只有true(真)和false(假)两个值。

注意:

  1. 布尔类型变量的默认值为false。
  2. Go 语言中不允许将整型强制转换为布尔型.
  3. 布尔型无法参与数值运算,也无法与其他类型进行转换。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值