-
package main import ( \"fmt\" \"math\" \"reflect\" ) //将数组传递给函数 //go不允许不同类型之间的混合使用,但是对于常量的类型限制非常少,因此允许常量之间的混合使用 /* %g 格式化浮点数 %f输出浮点数 %e输出科学计数表示法 数字值转换 a32bitInt = int32(a32Float) 小数点后面的数将被丢弃 int是根据编译器来确定是int32或int64 */ func getAverage(arr []float32, size int) float32 { var sum float32 fmt.Println(arr, size) for i := 0; i < size; i++ { sum += arr[i] } //这里编译不过 sum / size return sum / float32(size) } func Uint8FromInt(n int) (uint8, error) { if 0 <= n && n <= math.MaxUint8 { return uint8(n), nil } return 0, fmt.Errorf(\"%d is out of the uint8\", n) } func IntFromFloat64(x float64) int { if math.MinInt32 <= x && x <= math.MaxInt32 { whole, fraction := math.Modf(x) if fraction >= 0.5 { whole++ } return int(whole) } panic(fmt.Sprintf(\"%g is out of the int32 range\", x)) } func main() { var n [10]int var i, j int var balance = []float32{1000.0, 2.0, 63.02, 52.0} for i = 0; i < 10; i++ { n[i] = i + 100 } for j = 0; j < 10; j++ { fmt.Printf(\"element[%d] = %d\\n\", j, n[j]) } fmt.Printf(\"%g\\n\", getAverage(balance, len(balance))) var salary float32 salary = balance[0] fmt.Println(salary) fmt.Println(balance) a, b := 10, 11.2 //这里我们可以看到如果没定义变量类型时,编译器默认分配的的类型 fmt.Printf(\"type of a is: %v\\n\", reflect.TypeOf(a)) fmt.Printf(\"type of b is: %v\\n\", reflect.TypeOf(b)) fmt.Printf(\"a + b = %g\\n\", float64(a)+b) }
继续阅读与本文标签相同的文章
上一篇 :
扎克伯格为收购Instagram正名:不存在垄断
下一篇 :
菜鸟学习Nginx之ngx_list_t
-
觉非科技:专注于提供自动驾驶决策地图与服务
2026-05-18栏目: 教程
-
五大常用算法:回溯法
2026-05-18栏目: 教程
-
家电运输物流管理信息软件
2026-05-18栏目: 教程
-
Windows 10累积更新导致经典版Edge无法打开 微软承诺月底前修复
2026-05-18栏目: 教程
-
云南移动与昆船集团5G项目又有新进展,亮相瑞士第十届全球移动宽带论坛
2026-05-18栏目: 教程
