go |基本语法 | 九九乘法表

时间:2024-03-27 08:35:28

对于初学一门语言,最重要的就是敲
刚开始不管懂还是不懂,直接敲,敲出感觉
尽管可能刚开始,大量的知识,一下子很难全部消化,尤其是硬邦邦的理论,你就去敲,敲的过程中去总结

简单说一下,go
go 是几个大佬(这几个大佬真的不是一般的牛,还创造c++)通过c 的基础发明的,所以会有很多c 的影子。
然后 go 就是本世纪初问世的,然后几年就被谷歌全部使用。
c/c++ 对企业级的业务支撑没有完整的闭环(大佬陈皓说的)(然后c/c++ 的学习是一个充满辩证和探讨的过程,也是学习开发语言的垫脚石)

go 的很多数据类型和c/c++ 是一样的

变量的定义
var 变量名 类型
var 变量名 类型 = 表达式
var 变量名 = 表达式
变量名 := 表达式

var a int

批量定义
var(
	a int
	s string
)

定义并复制
var name string = "zhangbuda"

函数间定义,短声明
name := "zhangbuda"

常量定义
const name string = "zhangbuda"
const PI = 3.14			// 常量定义时必须赋值		定义了一个无类型的常量,其类型在编译的时候就根据上下文来确定

Go 语言支持一种特殊的常量,叫做iota,这个常量用于声明连续的常量,如果不赋值,默认会从 0 开始,每次加 1
const (
	Read = iota		// Read = 0
	Greeen			//	Greeen = 1
	Blue			// Blue = 2
)



注意 go 语句中没有 double 数据类型
然后循环语句中,没有 while 关键字
像注释,和c/c++ 是一模一样

go 常见的数据类型
   bool	布尔型
   byte	无符号 8 位整型 (uint8 别名)
   int int8  int16  int32  int64
   uint uint8  uint16  uint32  uint64
   uintptr	无符号整型,用于存放一个指针
   float32 float64
   complex64 complex128	复数
   string	字符串
   rune	类似 int32,表示一个 Unicode 码
   error	错误类型

   符合类型
   array	数组	var arr [n]type		var a [10]int
   slice	切片	var slice []type		var a []int
   map	字典	var m map[type]type		var m map[string]int
   struct	结构体	var a struct{}		var a struct{ name string }
   pointer	指针	var a *int		var a *int = &b
   channel	通道	var a chan int		var a chan int = make(chan int)
   type Person struct { Name string }	自定义类型
   type Reader interface { Read(p []byte) (n int, err error) }	接口类型
   type FuncType func(int, int) int	函数类型

   短声明, 使用 := 定义变量,只能在函数内部使用,不能用于全局变量的声明和初始化。至少有一个新的变量被定义在左边,否则会编译错误。

go 的 IO 操作
感觉,接口有点多了,甚至感觉,把c的这种复杂也带过来了

Go 的IO
   fmt 包实现了格式化 I/O 函数,类似于 C 语言中的 printf 和 scanf。
	    fmt.Print("hello, ", "world")		// 在控制台打印参数,不添加任何额外的格式
		fmt.Println("hello,", "world")		// 在控制台打印参数,并在最后添加一个换行符
		fmt.printf("hello, %s", "world")	// 格式化字符串并打印到控制台

		fmt.Sprintf("hello, %s", "world")	// 格式化字符串并返回一个字符串
		fmt.Sprint("hello, ", "world")		// 将参数格式化并返回一个字符串
		fmt.Sprintln("hello,", "world")		// 将参数格式化并返回一个字符串,并在最后添加一个换行符

		fmt.Scan(&a)		// 从控制台读取一个整数
		fmt.SCANF("%d", &a)	// 从控制台读取一个整数
		fmt.Scanln(&a)		// 从控制台读取一个整数,并在最后添加一个换行符

		fmt.Fprint(w, "hello, ", "world")		// 将参数写入到 w 中,不添加任何额外的格式
		fmt.Fprintln(w, "hello,", "world")		// 将参数写入到 w 中,并在最后添加一个换行符
		fmt.Fprintf(w, "hello, %s", "world")	// 格式化字符串并写入到 w 中

		fmt.Fscan(r, &a)		// 从 r 中读取一个整数
		fmt.Fscanf(r, "%d", &a)	// 从 r 中读取一个整数
		fmt.Fscanln(r, &a)		// 从 r 中读取一个整数,并在最后添加一个换行符

Go 的文件操作
	   os 包提供了一个平台无关的接口,用于操作系统功能,包括文件 I/O。
	   os 包中的 File 结构体表示一个文件,它实现了 io.Reader、io.Writer、io.Seeker 和 io.Closer 接口。
	   os 包中的 Open 函数用于打开一个文件,返回一个文件描述符。
	   os 包中的 Create 函数用于创建一个文件,返回一个文件描述符。
	   os 包中的 OpenFile 函数用于打开一个文件,返回一个文件描述符。
	   os 包中的 Read 函数用于读取文件内容。
	   os 包中的 Write 函数用于写入文件内容。
	   os 包中的 Close 函数用于关闭文件。
	   os 包中的 Remove 函数用于删除文件。
	   os 包中的 Rename 函数用于重命名文件。
	   os 包中的 Stat 函数用于获取文件信息。
	   os 包中的 Mkdir 函数用于创建一个目录。
	   os 包中的 MkdirAll 函数用于创建一个目录,包括任何必要的父目录。
	   os 包中的 RemoveAll 函数用于删除一个目录及其所有子目录。
	   os 包中的 TempDir 函数用于创建一个临时目录。
	   os 包中的 TempFile 函数用于创建一个临时文件。
	   os 包中的 Chdir 函数用于改变当前工作目录。
	   os 包中的 Getwd 函数用于获取当前工作目录。
	   os 包中的 Chmod 函数用于修改文件的权限。
	   os 包中的 Chtimes 函数用于修改文件的时间戳。
	   os 包中的 Lstat 函数用于获取文件信息,如果文件是一个符号链接,则返回符号链接的信息。
	   os 包中的 Readlink 函数用于读取符号链接的内容。
	   os 包中的 Symlink 函数用于创建一个符号链接。
	   os 包中的 Truncate 函数用于截断文件。
	   os 包中的 ReadDir 函数用于读取目录的内容。
	   os 包中的 ReadFile 函数用于读取文件的内容。
	   os 包中的 WriteFile 函数用于写入文件的内容。

记得 我最开始说的嘛
要多动手
我们常常会被配置环境 劝退
现在,就直接用在线的编译器
点击跳转
实现一个 九九乘法表

// 九九乘法表			
//注释  for 循环中是没有  () 的

	for i := 1; i < 10; i++ {
		for j := 1; j <= i; j++ {
			fmt.Printf("%d * %d = %d\t", i, j, i*j)
		}
		fmt.Println()
	}
# 打印结果
1 * 1 = 1	
2 * 1 = 2	2 * 2 = 4	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25	
6 * 1 = 6	6 * 2 = 12	6 * 3 = 18	6 * 4 = 24	6 * 5 = 30	6 * 6 = 36	
7 * 1 = 7	7 * 2 = 14	7 * 3 = 21	7 * 4 = 28	7 * 5 = 35	7 * 6 = 42	7 * 7 = 49	
8 * 1 = 8	8 * 2 = 16	8 * 3 = 24	8 * 4 = 32	8 * 5 = 40	8 * 6 = 48	8 * 7 = 56	8 * 8 = 64	
9 * 1 = 9	9 * 2 = 18	9 * 3 = 27	9 * 4 = 36	9 * 5 = 45	9 * 6 = 54	9 * 7 = 63	9 * 8 = 72	9 * 9 = 81

在这里插入图片描述