代码
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
var x [10]int
rand.Seed(time.Now().UnixNano())
for i := 0; i < 10; i++ {
x[i] = rand.Intn(100)
fmt.Print(" ", x[i])
}
fmt.Println()
//第一种实现:
for i := 0; i < 10; i++ {
for j := 0; j < i; j++ {
if x[i] < x[j] {
x[i], x[j] = x[j], x[i]
}
}
}
//第二种实现
for i := 0; i < 10; i++ {
for j := 9; j > i; j-- {
if x[i] > x[j] {
x[i], x[j] = x[j], x[i]
}
}
}
for i := 0; i < 10; i++ {
fmt.Print(x[i], ",")
}
}
知识点
- 变量声明与赋值
go中声明变量的关键字为var,声明变量的格式: var _name _type,var后跟变量名,在跟变量类型;也可直接 var _name = _value,_value为变量名称,go直接根据值自行判断变量的类型,go和Java,c一样是强类型语言,变量一旦被指定类型,就不可被改变;go中还可以直接简写声明变量并赋值 _name:=_value,即等价于var _name=_value(推荐使用);局部变量一旦被命名,则必须使用,全局变量除外;
数组的声明:var _arrName [_size]_type=,_arrName数组名,_size数组大小,_type数组类型;数组的声明与赋值还可以这样:var _arrName=[]type{_value1,_value2,_value3…};
- for循环与if条件判断
go中的for循环与if条件判断和其他语言类似; - go中的{不可以单独一行;
- go语言中交换值可以这样简写:x,y=y,x;则x,y的值交换。
- 获取随机数
1.通过当前时间戳获取seed种子数
rand.Seed(time.Now().UnixNano())//time.Now().UnixNano()获取系统当前时间
2.获取随机数
x[i] = rand.Intn(100)
- go中语句的结尾已换行标志,不用加;
评论区