您的位置:首页Golang
  • 解决golang结构体tag编译错误的问题
    写了一个带标签的结构体type server struct{ XMLName xml.Name ’xml:'server'’}解决编译错误field tag must be a string,后来发现是后面标签上引号不正确,不应该是回车键旁边的单引号,而是数字键1旁边的单引号type serv...
    日期:2023-10-20浏览:81
  • Golang: 内建容器的用法
    1.数组数组是值类型[10]int 和 [20]int是不同类型调用func(arr [10]int)会拷贝数组在go语言中一般不直接使用数据package mainimport 'fmt'func updateArr(arr *[5]int) {arr[0] = 100}func updateAr...
    日期:2023-10-18浏览:89
  • 关于golang高并发的实现与注意事项说明
    一、并发的意义并发的意义就是让 一个程序同时做多件事情,其目的只是为了能让程序同时做另一件事情而已,而不是为了让程序运行的更快(如果是多核处理器,而且任务可以分成相互独立的部分,那么并发确实可以让事情解决的更快)。golang从语言级别上对并发提供了支持,而且在启动并发的方式上直接添加了语言级的关键...
    日期:2023-10-13浏览:69
  • golang通过反射设置结构体变量的值
    如果需要动态设置struct变量field的情况下, 可以利用reflect来完成。代码如下:package mainimport ( 'fmt' 'reflect')// 定义结构体Persontype Person struct { Name string Age int}func main(...
    日期:2023-10-29浏览:53
  • Golang实现http文件上传小功能的案例
    看代码吧~package mainimport ('fmt''io''net/http''os')func main() {http.HandleFunc('/', index)http.HandleFunc('/upload', upload)http.ListenAndServe(':1789'...
    日期:2023-10-16浏览:50
  • golang 实现两个结构体复制字段
    实际工作中可能会有这样的场景:两个结构体(可能类型一样), 字段名和类型都一样, 想复制一个结构体的全部或者其中某几个字段的值到另一个(即merge操作),自然想到可以用反射实现package mainimport 'fmt'import 'reflect'// 用b的所有字段覆盖a的// 如果fi...
    日期:2023-08-25浏览:48
  • golang 如何获取文件夹下面的文件列表
    golang的文档里面比较容易找到的一个方法是filepath.Walk,这个方法有个问题是会自动递归遍历当前目录的子目录,其实我们通常只是想得到一个目录下面的文件列表,并不需要这么多的信息,同时这个方法代码写起来也比较多比较复杂,我们也没有必要这么做。如果仅仅是想获取一个目录下面的文件和文件夹的列...
    日期:2023-10-16浏览:43
  • golang中的并发和并行
    golang中默认使用一个CPU,这时程序无法并发,只能是并发。因为始终只有一个CPU在运行。package main import ( 'fmt' 'runtime') //并发和并行var quit chan int = make(chan int) func loo...
    日期:2023-10-13浏览:38
  • Golang的func参数及返回值操作
    参数及返回值参数一指定数据类型为int参数二 (…interface{}) 可传任何多个不同类型的参数返回值:单个返回值直接指定数据类型可以不使用 (),多个返回值需使用()。各返回值之间使用逗号分隔func main() { demo.Params(10, 20, 'golang', true)}...
    日期:2023-10-20浏览:3
  • golang 实现interface{}转其他类型操作
    golang中的string是可以转换为byte数组或者rune数组但是其实byte对应的类型是uint8,而rune对应的数据类型就是int32所以string可以转换为四种类型//interface转其他类型————返回值是interface,直接赋值是无法转化的 //interface 转st...
    日期:2023-11-26浏览:3