摘要:1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 位运算符: 8 将数值,转为二进制后,按位操作 9 按位&: 10 对应位的值如果都为1才为1,有一个为0就为0 11 按位|: 12 对应位的值如果都是0才为0,有一个为1就为1 13
阅读全文
摘要:1 package main 2 3 import "fmt" 4 5 func main() { 6 7 /* 8 数据类型转换:Type Convert 9 go语言是静态语言,定义,赋值,运算必须类型一致 10 11 语法格式:Type(Value) 12 13 注意点:兼容类型可以转换 14
阅读全文
摘要:1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 字符串: 8 1.概念:多个byte的集合,理解为一个字符序列 9 2.语法:使用双引号 10 "abc","hello","A" 11 也可以使用`` 12 3.编码问题 13 计算机
阅读全文
摘要:1 package main 2 3 import "fmt" 4 5 func main() { 6 const ( 7 A = iota // 0 8 B // 1 9 C // 2 10 D = "haha" // iota = 3 11 E // haha iota = 4 12 F = 1
阅读全文
摘要:1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func main() { 8 /* 9 iota:特殊的常量,可以被编译器自动修改的常量 10 每当定义一个const,iota的初始值为0 11 每当定义一个常量,就会自动累加1 12 直到下一个const出
阅读全文
摘要:1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 Go语言的数据类型: 8 1.基本数据类型: 9 布尔类型:bool 10 取值:true,false 11 数值类型: 12 整数:int 13 有符号:最高位表示符号位,0正数,1负
阅读全文
摘要:1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 常量: 8 1.概念:同变量类似,程序执行过程中数值不能改变 9 2.语法: 10 显式类型定义 11 隐式类型定义 12 13 3.常数: 14 固定的数值:100,"abc" 15
阅读全文
摘要:package main import ( "fmt" "reflect" ) // 1. reflect 获取变量的类型、值 func reflectFn(x interface{}) { v := reflect.TypeOf(x) v1 := reflect.ValueOf(x) fmt.Pr
阅读全文
摘要:Server: package main import ( "bufio" "fmt" "net" ) func worker(conn net.Conn) { defer conn.Close() for { reader := bufio.NewReader(conn) var buf [128
阅读全文
摘要:1 package main 2 3 import ( 4 "fmt" 5 "runtime" 6 "strconv" 7 "sync" 8 "time" 9 ) 10 11 // sync包中的WaitGroup实现了一个类似任务队列的结构,你可以向队列中加入任务, 12 // 任务完成后就把任务
阅读全文
摘要:package main import ( "errors" "fmt" "reflect" "strconv" ) // 1. 接口存在的意义 type Cat struct{} func (c Cat) say() { fmt.Println("喵喵喵") } type Dog struct{}
阅读全文
摘要:1 package main 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "unsafe" 7 ) 8 9 // 1. 自定义变量类型 10 type newInt int 11 type myInt = int 12 13 // 2. 定义结构体 14 typ
阅读全文
摘要:package main import ( "errors" "fmt" ) // 1. 无返回值的函数 func f1() { fmt.Println("Hello World!") } // 2. 有返回值;多个形参类型一致,可简写 func f2(x, y int) int { return
阅读全文
摘要:package main import ( "fmt" ) // case 1: func f1() int { x := 5 defer func() { x++ }() return x } func f2() (x int) { defer func() { x++ }() return 5
阅读全文
摘要:package main import ( "fmt" ) func calc(base int) (func(int) int, func(int) int) { add := func(i int) int { base += i return base } sub := func(i int)
阅读全文
摘要:package main import ( "fmt" "strings" ) func makeSuffixFunc(suffix string) func(string) string { return func(name string) string { if !strings.HasSuff
阅读全文
摘要:package main import "fmt" func adder2(x int) func(int) int { return func(y int) int { x += y return x } } func main() { var f = adder2(10) // 返回一个 fun
阅读全文
摘要:package main import "fmt" func adder() func(int) int { fmt.Println(1) var x int return func(y int) int { fmt.Println(2) x += y return x } } func main(
阅读全文
摘要:package main import ( "fmt" "math/rand" "sort" "time" ) func main() { // 初始化 mp1 := make(map[int]string, 8) mp1[0] = "a1" fmt.Println(mp1) // ap[0:a1]
阅读全文
摘要:package main import ( "fmt" ) func main() { // & 取地址 // * 根据地址取值 n1 := 10 p1 := &n1 fmt.Println(p1) // 0xc000014098 fmt.Printf("%T\n", p1) // *int fmt
阅读全文