随笔分类 - golang
摘要:package main import ( "fmt" ) ##通过struct来构建自定义异常,只要实现 Error方法就实现了系统error接口, type Err struct { line string code string err string } func (e *Err)Error(
阅读全文
摘要:1、git框架路由 package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // r.get 然后一个路由加一个函数 这个函数必须接受一个gin.Context的指针类型,后续所有的和请求
阅读全文
摘要:go语言中函数也是一种数据类型,也可以像变量一样,操作。下面代码给变量赋值了一个函数 var test = func(a int, b int) (int, float64) { return 0, 0 } func main() { test(1, 2) } 函数也可以当做参数,或者返回值来使用。
阅读全文
摘要:求1-10的和 func sum(num int) int { if num == 1 { return 1 } return sum(num-1) + num } func main() { ret := sum(10) fmt.Println(ret) }
阅读全文
摘要:strconv是go语言提供的一些字符串转换相关操作的包 字符转数字 func main() { s := "123" i, _ := strconv.Atoi(s) fmt.Println(i) fmt.Printf("%T", i) } 数字转字符串 func main() { s := 123
阅读全文
摘要:深浅拷贝 在很多编程语言都有深浅拷贝的这个概念,当然golang也不例外i,在go语言中值类型赋值都是深拷贝,引用类型一般都是浅拷贝,其本质就是,深拷贝会拷贝数据,而浅拷贝只会拷贝内存的地址,所有就会出现,像slice那样修改底层数组的值,slice的值也跟着改动。 深拷贝 修改a的值b不变,说明是
阅读全文
摘要:func main() { var a = [...]int{1, 33, 111, 33, 455, 1134, 0, 33} //从第一轮开始比较 for i := 1; i < len(a); i++ { //减去已经比较过的轮数 for j := 0; j < len(a)-i; j++ {
阅读全文
摘要:package main import ( "fmt" ) var ( j int k int p int ) func main() { for i := 100; i <= 999; i++ { j = i / 100 //百位 k = i / 10 % 10 //十位 p = i % 10 /
阅读全文
摘要:在go语言中 循环语句只支持for,不像其他语言一样,有支持for和while循环。 for 循环表达式。 for 赋值操作;逻辑运算;自加{ } 如下打印10次1-10的随机数 func main() { rand.Seed(time.Now().UnixNano()) for i := 0; i
阅读全文
摘要:获取字符串的长度 package main import ( "fmt" ) var name string = "helloworld" func main() { fmt.Println(len(name )) } 字符串拼接 func main() { info := name + fmt.S
阅读全文
摘要://int8 to int16 var num1 int8 = 20 var num2 int16 //强制转换 num2 = int16(num1) fmt.Println(num2) //int to float // var a int = 100 // var b float64 // b
阅读全文