ICode9

精准搜索请尝试: 精确搜索
  • 二叉树序列化反序列化2022-09-16 16:00:24

    Golang代码 package main import ( "fmt" "strconv" "strings" ) type Treenode struct { Val int Left, Right *Treenode } func Serialization(node *Treenode) string { if node == nil { return "nil" } tmp

  • go之切片2022-09-16 14:32:51

    定义   切片是由数组建立的一种方便、灵活且功能强大的包装,切片本身不拥有任何数据。他们只是对现有数组的引用。切片底层以来于数组,是对数组的引用   底层数组如果发生变化,切片也变了;切片发生变化,层数组也变化 切片定义   基于数组生成切片 package main import "fmt" f

  • runtime标准库2022-09-15 18:04:38

    runtime标准库 runtime包提供和go运行时环境的互操作,如控制goroutine的函数。 它也包括用于reflect包的低层次类型信息。 1. 环境变量 环境变量GOGC设置最初的垃圾收集目标百分比。当新申请的数据和前次垃圾收集剩下的存活数据的比率达到该百分比时,就会触发垃圾收集。默认GOGC=1

  • Go语言sync.Map的简单使用(map是线程不安全的)2022-09-14 14:33:58

    Go语言sync.Map的简单使用(map是线程不安全的) 1、map是线程不安全的 Go语言中的 map 在并发情况下,只读是线程安全的,同时读写是线程不安全的。 可以这么复现,会报错: fatal error: concurrent map read and map write package main import ( "fmt" "time" ) var count = 10000

  • 使用 json.Unmarshal(),反序列化时,出现了科学计数法2022-09-13 19:00:53

    1.问题现象描述 使用 json.Unmarshal(),反序列化时,出现了科学计数法,参考代码如下: jsonStr := `{"number":1234567}` result := make(map[string]interface{}) err := json.Unmarshal([]byte(jsonStr), &result) if err != nil { fmt.Println(err) } fmt.Println(result) // 输出

  • go 接口interface2022-09-13 17:31:33

    接口interface go 中以关键字interface代表接口 interface 可以用于多态, 还可以接受任意数据类型, 类似void 用例:   package main import ( "fmt" ) func main() { var q, w, e interface{} // 空接口 n2 := []string{"haha", "xixi"} q = n2 fmt.Printf("this

  • k8s证书监控2022-09-12 20:30:39

    用于监控k8s节点上crt或者pem证书的有效期时间 使用方法 go run main.go --crtDir      crtDir用于指定证书的目录 package main import ( "crypto/x509" "encoding/pem" "flag" "fmt" "io/ioutil" "net/http" "os" "s

  • 重温Go语法笔记 | 容器2022-09-11 00:32:18

    容器 数组的声明 // 初始化声明 q := [...]int{1,2,3} // 仅声明 var a [3]int 切片 切片的概念 对数组连续片段的引用 // 根据数组生成切片 var a = [3] int {1,2,3} fmt.Println(a[1:2]) // 初始化声明切片 a := []int{1,2,3} // 直接声明一个新的切片 var strList [

  • 我的设计模式之旅 ⑤ 装饰模式2022-09-10 00:30:33

    一个菜鸟的设计模式之旅,文章可能会有不对的地方,恳请大佬指出错误。 编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。 程序介绍 本程序实现装饰模式。小明和小王去吃沙县小吃,各自喜欢不同的搭配,需要考虑每个人饮食喜好不同,随时可能的变化。 小明想吃不带汤的面

  • Golang 实现strtotime 字符串转换为时间戳的方法2022-09-10 00:00:26

                       在php中,有strtotime 将字符串转换为时间戳,在Golang 中,同样可以实现类型的函数。     1 package main 2 3 import ( 4 "fmt" 5 "time" 6 "regexp" 7 "strings" 8 "strconv" 9

  • Gin实践 连载六 Golang优雅重启HTTP服务2022-09-09 16:01:04

    http.Server-Shutdown() package main import ( "context" "fmt" _ "gin_log/models" "gin_log/pkg/setting" "gin_log/routers" "log" "net/http" "os" "os/signal"

  • 延宕执行,妙用无穷,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中defer关键字延迟调用机制使用EP172022-09-07 13:30:36

    先行定义,延后执行。不得不佩服Go lang设计者天才的设计,事实上,defer关键字就相当于Python中的try{ ...}except{ ...}finally{...}结构设计中的finally语法块,函数结束时强制执行的代码逻辑,但是defer在语法结构上更加优雅,在函数退出前统一执行,可以随时增加defer语句,多用于系统资源的

  • GO语言自学_013_接口2022-09-06 21:02:42

    代码 package main import "fmt" /* go语言中,有专门的关键字表示接口:interface interface不仅可以处理多态,还可以接收任意的数据类型。 */ func main() { // 定义三个接口 var i, j, k interface{} names := []string{"Duke", "Lily"} age := 20 str := "Hello" i =

  • [GO] Pass by reference2022-09-06 03:04:30

    func changeName(name *string) { *name = strings.ToUpper(*name) } // Coordinates type Coordinates struct { X, Y float64 } func main() { name := "Elvis" changeName(&name) fmt.Println(name) // ELVIS var c = Coordinates{X: 10, Y: 20} /

  • [Go] Error2022-09-06 03:02:46

    package main import ( "errors" "fmt" "strings" ) func shouldGreaterThanTen(num int) error { if num < 10 { return errors.New("Number is less than 10") } return nil // should return nil if no error } fu

  • [Go] Defer, panic, recover2022-09-06 03:02:15

    package main import ( "fmt" ) func recoverFromPanic() { fmt.Println("defer") } func doThings() { defer recoverFromPanic() for i := 0; i < 5; i++ { fmt.Println(i) if i == 2 { panic("NOT 2") // If there is a pa

  • [Go] Pointer2022-09-06 02:02:13

    var name string var namePointer *string // Pointer name = "Beyonce" namePointer = &name // Assign a Pointer fmt.Println("Name: ", name) fmt.Println("Name *: ", *namePointer) // Need to add * to get value

  • golang指定客户端的端口2022-09-05 17:30:28

    当客户端去连接服务端时,端口号是随机的,如果需要指定客户端端口号,就不要指定IP,否则会一直报错的,程序如下: netAddr := &net.TCPAddr{Port: 51860} d := net.Dialer{LocalAddr: netAddr} conn, err := d.Dial("tcp", "127.0.0.1:38001") if err != nil { fm

  • [Go] Package2022-09-05 15:02:42

    Create a new folder utilswith a new file math.go package utils import ( "fmt" ) func printNum(num int) { fmt.Println("Current number is: ", num) } // Add multi int number together return total int func Add(nums ...int) int {

  • 参加了个算法比赛,真是一言难尽啊2022-09-05 13:01:24

    hello大家好呀,我是小楼。 上周参加了一个区的程序员技能比赛的初赛,其实就是算法比赛,虽然最后结果是过了初赛,但过程真是一言难尽啊。 这次的算法比赛和ACM非常类似,虽然我大学是数学专业,虽然大学也修过ACM这门课,但是我的算法是真的不行,很菜很菜的那种。 好在这次比赛是组(抱大腿)队模

  • 记录一次go打印金字塔,空心金字塔2022-09-05 01:31:13

    金字塔 package main import "fmt" // 案例说明: 用户输入金字塔高度,打印金字塔 func main() { //思路整理: // 需要获得的数据 // 1.获得金字塔高度 // 2.获得前面空白符数量,观察金字塔得出,最上面一行金字塔高度为: 高度 -1 ,每向下一行 -1 // 3.星号:

  • [Go] switch - fallthrough2022-09-04 16:32:03

    fallthrough keyword is used in switch statement in golang. This keyword is used in switch case block. If the fallthrough keyword is present in the case block, then it will transfer control to the next case even though the current case might have matched.

  • [Go] Types - Reflect.TypeOf()2022-09-04 16:00:42

    Can use reflect.TypeOf to get variable type package main import ( "fmt" "reflect" ) func main() { // var age int = 21 // var b bool = age >= 23 var age = 21 var b = age >= 23 fmt.Println(reflect.TypeOf(age))

  • Golang基础-22022-09-03 10:31:30

    Golang基础2 指针 如果声明变量var x int ,则&x是获取x值所在的地址,类型是整型指针(*int),即我们可以声明一个变量来接收其返回值 var p *int=&x 那么p就是一个指针变量 age:=18 // 这里是输出i变量对应的地址通过&+名字获取 fmt.Println(&age) 这里我们要得到通过ptr指针

  • time包使用2022-09-02 15:00:20

    ✍️ time包在实际中经常用到,可以对比python中的time库进行学习 1、获取年月日 func timeDemo() { now := time.Now() //获取当前时间 fmt.Printf("current time:%v\n", now) year := now.Year() month := now.Month() day := now.Day() hour := now.Hour() minute := now

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有