golang正确的代码风格是什么样子的,我写代码调试时老是提示我,类型不匹配,float不支持int,(ide在写的时候也不提示,而是要到最后编译或者go run后会报错,然后就是回去加类型转换,再调试,编程体验就呵呵了,。。),然后只能写出下面这样的代码,请教golang正确的编码风格是什么,如何才能规避我碰到的这种情况
golang正确的代码风格是什么样子的,我写代码调试时老是提示我,类型不匹配,float不支持int,(ide在写的时候也不提示,而是要到最后编译或者go run后会报错,然后就是回去加类型转换,再调试,编程体验就呵呵了,。。),然后只能写出下面这样的代码,请教golang正确的编码风格是什么,如何才能规避我碰到的这种情况
golang 就是强类型的语言,类型匹配不上,就编译报错,很正常。
你说 ide 不提示,我建议可以换一个更好的 ide,golang, https://www.jetbrains.com/go/,我使用体验良好。
类型严格的编译型语言就是这样啊。难道float可以自己动转为int吗?这总是需要程序员手动标注的,因为这可能会是一个BUG呢。至于代码格式,自然有gofmt工具啊,golang的代码最后一定是一样排版的。我认为这样很好。
GO语言是强类型静态语言,C语言是弱类型静态语言,所以你在使用C语言中的标准库,即使有时类型不匹配,但是C会自动帮你转换为容量更大的数据类型,比如说int到long,而GO语言不会,无论是大到小还是小到大都得需要你自己强制转换。
// Max returns the larger of x or y.
//
// Special cases are:
// Max(x, +Inf) = Max(+Inf, x) = +Inf
// Max(x, NaN) = Max(NaN, x) = NaN
// Max(+0, ±0) = Max(±0, +0) = +0
// Max(-0, -0) = -0
浮点的比较需要考虑几种特殊情况,所以标准库做了实现,整形Max实在太简单,所以标准库根本没提供实现。专门转成浮点再调方法绕太远了吧。
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.3k 阅读
2 回答2.2k 阅读
1 回答2.1k 阅读
1 回答1.5k 阅读
换ide了使用gogland可以解决我的问题