首页 文章 Go语言基础 Go语言入门(2)Go语言基础
0
0
0
15

Go语言入门(2)Go语言基础

基础语法 语言 语言基础 基础

1. 基础数据类型

  • 数字类型: 整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且原生支持复数
  • 布尔型: true、false
  • 派生类型:
    (a) 指针类型(Pointer)
    (b) 数组类型
    © 结构化类型(struct)
    (d) Channel 类型
    (e) 函数类型
    (f) 切片类型
    (g) 接口类型(interface)
    (h) Map 类型

2. 基础语法

2.1 循环

go语言里面没有while,所以实现循环都是使用for

无限循环

for {
	
}

条件循环

for i:=0; i <10 ; i++{
}

2.2 判断

跟其他语言一样,判断有大于(>) 、小于(<) 、等于(==)、不等于(!=)、大于等于(>=)、小于等于(<=)

if i>10 {
}

3.3 选择

	switch a {

	case 1: fmt.Println("a为1")
	case 2:	fmt.Println("a为2")
	default:
		fmt.Println("a不确定")

	}

3. 基本语法

3.1 定义常量、全局变量、局部变量

定义常量使用 const 关键字

const a int = 1 //必须要赋初值

全局变量,全局变量是在函数外定义并且必须要有var关键字

var b int = 10 //可以不用赋初值

局部变量,也就是在函数中定义的变量,可以省略 var关键字

var c int = 1 //最保守的写法
var c = 1 // 省略类型,让编译器自己判断
c := 1 //省略var关键字和类型,比较方便

注意:在go中 _ 这个小下划线被称为废弃数,如果某个值赋值给它则此值就被废弃不再使用了

3.2 定义数组、切片、map

  • 定义数组,
// 定义了一个大小为10的数组
var ids [10]int // 初始全为 0 
  • 定义切片
//切片与数组最大的不同就是,切片是变长的,它的容量可以自动扩充
var splice = make([]int3) // 指定切片大小
var splice = make([]int,3,10) // 指定切片大小和容量

len 是这个切片初始化时的大小
cap 是这个切片的容量,当len大于cap时,此切片就会扩容,扩容为此时的cap的2倍

  • 定义 map
// 定义一个map,key为string类型,value为int类型
var m = make(map[string]int)
// 使用
m["age"] = 18

3.3 定义派生类型

  • 定义结构体,也就是java中的bean对象
type person struct{
	id int
	name string
	age int
}
  • 定义接口
type Ising interface {
	sing()
}
  • 实现接口

go语言中只要一个实体实现了接口中的所有方法,那么这个实体就是实现了这个接口

type person struct {
	string name
}

// 让person 实现 Ising 接口
func (p *person) sing(){
	fmt.Println(p.name+"在唱歌")
}

// 使用
p := new(person)
p.name = "pibigstar"
p.sing()

4. 异常

4.1 异常处理

go语言中一般都是把错误当成返回值给调用的函数

func test(name string)(int,error){
	if string=="" {
		return 0,eroors.New("name cannot is null")
	}else {
		return m[name],nil
	}
}

4.2 中断程序

当调用panic() 函数,该出错线程就会停止,而有的时候我们不想让它停止,我们可以 使用recover() 来恢复它

	// 不让线程终止
	defer func() {
		if r :=recover(); r!=nil{
			log.Println("hava a error")
		}
	}()

panic(err)

4.3 defer 函数

这个函数有点类似于java中的finally,都是在函数执行返回值之前做一些操作,一般都是执行一些关闭流的操作

defer reader.close()
到此这篇关于“Go语言入门(2)Go语言基础”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持Go语言编程网!

相关文章

创建博客

开始创作
写作能提升自己能力,也能为他人分享知识。

在线教程

查看更多
  • Go入门指南

    Go入门指南

  • Go语言高级编程

    Go语言高级编程

  • Go Web 编程

    Go Web 编程

  • GO专家编程

    GO专家编程

  • Go语言四十二章经

    Go语言四十二章经

  • 数据结构和算法(Golang实现)

    数据结构和算法(Golang实现)

Go语言编程网

微信扫码关注订阅号


博客 资讯 教程 我的