golang
已收录文章:319篇
-
Go语言中函数用func定义,可独立调用;方法则绑定类型,通过接收者关联数据。1.函数语法:func名(参数)返回值{...},如add(a,bint)int。2.支持多返回值,常用于结果与错误,如divide(a,bfloat64)(float64,error)。3.方法带接收者:func(rType)名(参数)返回值{...},如(pPerson)Introduce()。4.接收者可为值或指针,指针可修改原数据并提升性能。5.函数直接调用,方法需通过实例调用,如person.Introduce()。6162 收藏
-
Go语言通过net/http标准库可快速构建HTTP服务器,首先实现根路径响应,再扩展多路由与静态文件服务,接着用结构体封装提升可维护性,最后通过函数包装添加日志中间件,整个过程简洁高效,适合开发轻量级Web服务或API。157 收藏
-
反射能否修改字符串?可以,但仅限可寻址变量且不推荐。通过reflect.ValueOf(&s).Elem()可修改变量,但字面量不可寻址会panic。利用unsafe.Pointer获取底层字节数组指针并修改虽可行,但存在运行时崩溃、影响字符串池等风险,属未定义行为。应使用[]byte、bytes.Buffer或strings.Builder处理可变文本。246 收藏
-
break终止循环,continue跳过当前迭代;二者均只影响所在最内层循环,合理使用可提升效率,但应避免过度使用以保持代码可读性。135 收藏
-
预分配容量可显著减少切片扩容开销,处理10万个元素时用make([]int,0,100000)比直接append性能提升90%以上;复用s=s[:0]或sync.Pool可降低GC压力;避免append模拟拷贝,应先make再copy;根据场景选择字面量、索引赋值或预分配初始化。375 收藏
-
单例模式在Golang中通过sync.Once确保实例唯一性,常见坑包括并发修改状态需加锁、延迟初始化影响首次性能,测试困难可通过依赖注入解决,替代方案有全局变量和依赖注入。425 收藏