flora222

GoLangStudy:day1

GO study day1


序言

优势

1.极简单的部署方式

可以直接编译成机器码,效率高

不依赖其他第三方库

直接运行即可实现部署

2.静态类型语言

编译的时候可以检查出来隐藏的大多数问题

  • 动态语言大多数问题只有在运行的时候才能被发现

3.语言层面的并发

go语言能够通过充分的利用多核来实现并发

4.强大的标准库

runtime的系统调度机制

高效的GC垃圾回收

十分丰富的标准库

5.简单易学

只有25个关键字

老祖C语言,内嵌C语法支持

依旧老牌面向对象

可以跨平台

6.大厂领军(爸爸。

Golang适合的领域

云计算基础设施

基础后端软件

微服务

互联网基础设施

缺点

1.包管理,大部分的包都在github上由私人账户管理,稳定性较差

2.所有异常都由error处理

Golang语法注意点

1.基础程序框架注意点

package main //程序的包名
import (
	"fmt"
	"time"
)

/*导入包方式有两种,建议用上面的方式
import "fmt"
import "time"
*/

// main函数
func main() {
	//golang建议不加分号
	fmt.Println("Hello Go!")
	time.Sleep(1 * time.Second)
}

//go语言强制要求 { 必须与函数名在同一行,否则为语法错误

2.常见变量声明方式

package main //程序的包名
import "fmt"

// 方法一,二,三可以用于声明全局变量
var GA int = 200

// 四种变量的声明方式
func main() {
	//方法一:声明一个变量,默认值为0,声明的变量必须被使用
	var a int
	fmt.Println("a =", a)
	fmt.Printf("Type of a is %T\n", a)

	//方法二:声明一个变量并赋值
	var b int = 100
	fmt.Println("b =", b)
	fmt.Printf("Type of b is %T\n", b)

	//方法三:(不建议使用)初始化时省去数据类型,根据值自动匹配当前变量数据类型
	var c = 100
	fmt.Println("c =", c)
	fmt.Printf("Type of c is %T\n", c)

	//方法四:(最常用)省去var关键字,直接自动匹配,只适用于函数体内声明
	d := 100
	fmt.Println("d =", d)
	fmt.Printf("Type of d is %T\n", d)

	//输出全局变量
	fmt.Println("GA =", GA)

	//声明多个变量
	//1.同类型变量
	var xx, yy int = 100, 200
	fmt.Println("xx=", xx, "yy=", yy)
	//2.不同类型变量
	var aa, bb = 123, "test"
	fmt.Println("aa=", aa, "bb=", bb)
	//3.多行多变量声明
	var (
		ii int  = 124
		jj bool = false
	)
	fmt.Println("ii =", ii, "jj =", jj)
}
输出结果:
a = 0
Type of a is int
b = 100
Type of b is int
c = 100
Type of c is int
d = 100
Type of d is int
GA = 200
xx= 100 yy= 200
aa= 123 bb= test
ii = 124 jj = false

3.const与iota注意事项

package main

import "fmt"

// const可用于定义枚举类型
// iota只能配合const()一起使用,否则报错
const (
	//可以在const()添加一个关键字iota,每行的iota都会累加1,第一行的iota默认值为0
	BEIJING  = 1 * iota //iota=0
	SHANGHAI            //iota=1
	SUZHOU              //iota=2,依次累加
)

const (
	//一行中的变量共用一个iota,iota是逐行累加的
	a, b = iota + 1, iota + 2
	c, d
	e, f
	g, h = iota * 2, iota * 3
	i, j
)

func main() {
	//常量,具有只读属性,不可修改
	const length int = 25
	fmt.Println("length =", length)

	fmt.Println("beijing =", BEIJING)
	fmt.Println("shanghai =", SHANGHAI)
	fmt.Println("suzhou =", SUZHOU)

	fmt.Println("a =", a, " b=", b)
	fmt.Println("c =", c, " d=", d)
	fmt.Println("e =", e, " f=", f)
	fmt.Println("g =", g, " h=", h)
	fmt.Println("i =", i, " j=", j)
}
输出结果:
length = 25
beijing = 0
shanghai = 1
suzhou = 2
a = 1  b= 2
c = 2  d= 3
e = 3  f= 4
g = 6  h= 9
i = 8  j= 12

posted on 2026-07-08 00:17  Flora2  阅读(4)  评论(0)    收藏  举报

导航