侧边栏壁纸
博主头像
小白博主等级

just do it!

  • 累计撰写 60 篇文章
  • 累计创建 77 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Golang学习笔记1——冒泡排序

小白
2019-11-21 / 0 评论 / 0 点赞 / 125 阅读 / 465 字

代码

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中语句的结尾已换行标志,不用加;
0

评论区