Go语言初篇 目录 Go-开发环境 Go-语言基础 Go-标准库 Go-面向对象 Go-并发 Go-数据库 Go-web框架 Go语言开发文档:https://studygolang.com/pkgdoc GO语言中文网:https://studygolang.com/ 深度开源:https:/
Go语言初篇
目录
Go-开发环境
Go-语言基础
Go-标准库
Go-面向对象
Go-并发
Go-数据库
Go-web框架
Go语言开发文档:https://studygolang.com/pkgdoc
GO语言中文网:https://studygolang.com/
深度开源:https://www.open-open.com/
KanCloud看云:https://www.kancloud.cn/
个人资料:https://pan.baidu.com/s/1O9RLHCW9FXglYCRHWIslLA 密码:ebg8
Go-开发环境
GoLand IDE:https://www.jetbrains.com/go/
IDE破解:https://www.cnblogs.com/-wenli/p/10739315.html
文件相关快捷键: CTRL+E,打开最近浏览过的文件。 CTRL+SHIFT+E,打开最近更改的文件。 CTRL+N,可以快速打开struct结构体。 CTRL+SHIFT+N,可以快速打开文件。 代码格式化: CTRL+ALT+T,可以把代码包在一个块内,例如if{…}else{…}。 CTRL+ALT+L,格式化代码。 CTRL+空格,代码提示。 CTRL+/,单行注释。CTRL+SHIFT+/,进行多行注释。 CTRL+B,快速打开光标处的结构体或方法(跳转到定义处)。 CTRL+“+/-”,可以将当前方法进行展开或折叠。 查找和定位 CTRL+R,替换文本。 CTRL+F,查找文本。 CTRL+SHIFT+F,进行全局查找。 CTRL+G,快速定位到某行。 代码编辑 ALT+Q,可以看到当前方法的声明。 CTRL+Backspace,按单词进行删除。 SHIFT+ENTER,可以向下插入新行,即使光标在当前行的中间。 CTRL+X,删除当前光标所在行。 CTRL+D,复制当前光标所在行。 ALT+SHIFT+UP/DOWN,可以将光标所在行的代码上下移动。 CTRL+SHIFT+U,可以将选中内容进行大小写转化。IED快捷键
Go-语言基础
Hello World
package main import "fmt" func main() { fmt.Println("Hello, World!") } 让我们来看下以上程序的各个部分: 第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。 下一行 import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。 下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。 下一行 /*...*/ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。 下一行 fmt.Println(...) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。 使用 fmt.Print("hello, world\n") 可以得到相同的结果。 Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。 当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。hello world
变量、常量、运算符、关键字
关键字
下面列举了 Go 代码中会使用到的 25 个关键字或保留字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符: append bool byte cap close complex complex64 complex128 uint16 copy false float32 float64 imag int int8 int16 uint32 int32 int64 iota len make new nil panic uint64 print println real recover string true uint uint8 uintptr 程序一般由关键字、常量、变量、运算符、类型和函数组成。 程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。 程序中可能会使用到这些标点符号:.、,、;、: 和 …。关键字
常量
变量声明 第一种,指定变量类型,如果没有初始化,则变量默认为零值。 var v_name v_type v_name = value 零值就是变量没有做初始化时系统默认设置的值。 数值类型(包括complex64/128)为 0 布尔类型为 false 字符串为 ""(空字符串) 以下几种类型为 nil: var a *int var a []int var a map[string] int var a chan int var a func(string) int var a error // error 是接口 实例 package main import "fmt" func main() { var i int var f float64 var b bool var s string fmt.Printf("%v %v %v %q\n", i, f, b, s) } 输出结果是: 0 0 false "" 第二种,根据值自行判定变量类型。 var v_name = value 第三种,省略 var, 注意 := 左侧如果没有声明新的变量,就产生编译错误,格式: v_name := value 例如: var intVal int intVal :=1 // 这时候会产生编译错误 intVal,intVal1 := 1,2 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句变量声明与定义
var x, y, z int var s, n = "abc", 123一次性定义多个变量
常量
常量用const关键字,代表永远是只读的,不能修改。 const A = 1 常量值必须是编译期可确定的字符、字符串、布尔或数字类型的值。 常量不能使用 ":=" 语法定义。 常亮初始化 const x, y int = 1, 2 // 多常量初始化 const s = "Hello, World!" // 类型推断 const ( //常量组 a, b = 10, 100 c bool = false )常量
const( Mondy = 1 Tuesday = 2 Wednesday = 3 Thursday = 4 Friday = 5 Saturrday = 6 Sunday = 7 )常量使用的例子一(简单使用)
const( Mondy = iota+1 Tuesday Wednesday Thursday Friday Saturrday Sunday )常量使用的例子二(iota自加1,iota为0)
const( a = iota //0 b //1 c //2 d = "ha" //独立值,iota += 1 e //"ha" iota += 1 f = 100 //iota +=1 g //100 iota +=1 h = iota //7,恢复计数 i //8 )常量使用的例子(iota不影响用户赋值常量)
运算符
+ & += &= && == != ( ) - | -= |= || < <= [ ] * ^ *= ^= <- > >= { } / << /= <<= ++ = := , ; % >> %= >>= -- ! ... . : &^ &^=全部运算符
数据类型
Go-标准库
Go-面向对象
Go-并发
Go-数据库