Goland 2025.2 迎来重大升级,又整新活!

开发与运维数据库管理服务微服务治理

小时候以为长大能掌控一切,长大后发现,连早上几点起床都由不得自己。

好消息来了,goland 2025.2 在前几天正式发布,和以往的更新不一样,这次带来对开发者很多利好的新特性。

下面就来随我一起看看都有哪些令人感动的新特性吧。

第一个,nil 解引用分析

什么是 nil 解引用呢?

在 Go 语言中,nil 表示一个指针没有指向任何有效的内存地址。当程序试图访问一个 nil 指针 所指向的值(即解引用该指针)时,就会触发运行时错误。

举个例子可以更好的说明这个概念

  
func getUser() *User { return nil }  
  
u := getUser()  
fmt.Println(u.Name) // 🔴 此处显示警告:可能的nil解引用

安全的操作是这样的

  
if u != nil {  
    fmt.Println(u.Name) // ✅ 安全操作(已判空)  
}

简单来说,就是类似idea里面的Java 空指针检查。

除了上面简单的检查,他还支持跨函数检查nil解引用的问题。

下面来看看这个例子

picture.image

从上面的代码来看,似乎感觉代码并没有什么问题,但是 goland 却给出了 nil 解引用的提示

到底是什么原因呢?那我们需要深入看看 NewUser 这个方法

picture.image

我们看到当发生 err 的时候,方法返回了 nil。

但是我们通常的代码可能是这样写的

picture.image

会把当前的 err 返回出来,然后在使用返回的 user 之前我们会检查 err 是否为 nil。

但是 nil 解引用的问题仍然存在,我们还需要进一步看看 CreateUser 的代码

picture.image

我们发现,在校验 age 的时候,我们对 user 和 err 都返回了 nil。

那我们也需要如下处理,才能最终解决 nil 解引用的问题。

picture.image

可以看到这样层层的检查对人来说确实是一件繁琐的事情,现在都可以交给 goland 这样强大的工具来自动检测了。

第二个,欢迎页更加友好

新版的goland的欢迎页会作为一个tab页存在,这样你在打开goland的时候,仍然可以访问常用的功能,比如创建项目,打开项目,和其他经常用到的工具比如http client,docker,terminal等,和vscode的欢迎页类似。

picture.image

第三个,只能发现端点

这个功能非常实用,如果你使用国idea啦开发springboot项目的话,idea就会在每个接口的左边

picture.image

点击左边的带有网络图标的小工具,就可以自动为这个接口生成http文件。

而现在goland也终于支持这样的功能,方便我们快速测试接口,再也不需要用到postman这样的工具了。

picture.image

goland目前能检测如下几种情况的端点

  • 函数名称

r.GET("/path", handler)



* 方法前缀模式
* ```
  
http.HandleFunc("POST /item", handler)

函数参数

r.Method("DELETE", "/item", handler)




 



链式方法调用
* 
* ```
  
r.HandleFunc("/item", handler).Methods("PUT")

适用于使用标准 net/http 软件包以及 Chi、Gin 和 Gorilla 定义的处理程序。

结语

GoLand 2025.2 新特性是开发路上的强大助力 ,不仅提升效率,更是迈向卓越编程的阶梯。从现在起,利用好这些特性,优化代码,精进技术,做一个高效的 Gopher!

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
DevOps 在字节移动研发中的探索和实践
在日益复杂的APP工程架构下,如何保证APP能高效开发,保障团队效能和工程质量?本次将结合字节内部应用的事件案例,介绍DevOps团队对移动研发效能建设的探索和思考。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论