栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Go学习 day01

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Go学习 day01

Go 运行
package main

import "fmt"

func main() {
	fmt.Printf("hello world")
}
  • 输入go build会编译出一个exe文件,然后运行
  • go run main.go直接输出hello world
格式化打印

可以使用Printf来控制打印的输出结果

Printf的第一个参数必须是字符串

其中这个字符串可能包含像%v的格式化动词,它的值有第二个参数所替代

还可以使用Printf来对其文本,如%4v,向左填充4个宽度

正数向左填充,负数向右填充

常量变量
  • const 常量
  • var 变量

声明多个变量或常量

  • var a = 10
    var b = 20
    
  • var (
    	a = 10
    	b = 20
    )
    
  • var a, b = 10, 20
    
自增运算符(与java不同)

go语言里没有++count

循环和分支 switch(与java不同)

fallthrough关键字,用来执行下一个case的body部分

func main(){
	var num = 12
	switch{
	case num == 13:
		fmt.Println("第一个")
	case num == 12:
		fmt.Println("第二个")
		fallthrough
	case num == 14:
		fmt.Println("第三个")
	}
}
第二个
第三个
循环(与java不同)

for后面没有跟条件就会无限循环

猜数

func main(){
	const tmp = 20
	var random = 0
	var n = 0
	for{
		n++
		random = rand.Intn(100)
		if tmp < random {
			fmt.Println("大")
			fmt.Println(random)
			continue
		}
		if tmp > random {
			fmt.Println("小")
			fmt.Println(random)
			continue
		}
		if tmp == random {
			fmt.Println("结束" , n,"次",random)
			break
		}
	}
}
变量和作用域 短声明

可以使用var来声明变量var count = 10,但是也可以使用短声明count := 10,效果相同。

短声名不能声明package作用域的变量

好处:是代码更短,可以在不能使用var的情况下使用

//正常声名	
var count = 0
	for count = 10;count > 0; count --{
		fmt.Println(count)
	}
//短声名	
for count := 10;count > 0; count --{
		fmt.Println(count)
	}
//短声名
if num := rand.Intn(3); num == 0 {
		fmt.Println("0")
	}else if num == 1 {
		fmt.Println("1")
	}else {
		fmt.Println("2")
	}
	switch num := rand.Intn(3); num{
	case 0:
		fmt.Println(0)
	case 1:
		fmt.Println(0)
	case 2:
		fmt.Println(0)
	}
实数 浮点数 声明浮点型变量
  • 只要数字含有小数部分,类型就是float64
  • 如果使用整数来初始,就必须指定var count float64 = 42
浮点数类型
  • float64(默认)
    • 64位,占用8字节
    • 双精度类型
  • float32
    • 占用4字节,精度比float64低
    • 单精度类型
单精度

要想使用单精度,必须声名

整数

go提供了10种整数类型,5种有符号类型int,5种无符号类型uint

与架构无关是8种:

类型取值范围内存
int8-128 至 1271字节
uint80 至 2551字节
int16-32768 至 327672字节
uint160 至 655352字节
int32-2147483648 至 21474836474字节
uint320 至 42949672954字节
int64-9223372036854775808 至 92233720368547758078字节
uint640 至 184467440737095516158字节

int和uint是针对目标设备优化的类型:

  • 树莓派或者老设备上,为32位
  • 新设备为64位
整数环绕

整数类型虽然不会像浮点类型那样因为舍入错误而导致不精确,但整数类型也有它们自己的问题,那就是有限的取值范围。在Go语言中,当超过整数类型的取值范围时,就会出现整数回绕(wrap around)现象。

例如,8位无符号整数uint8类型的取值范围为0~255,而针对该类型的增量操作在结果超过255时将回绕至0。

var red uint8 = 255
red++
fmt.Println(red)   ←--- 打印出“0”
 
var number int8 = 127
number++
fmt.Println(number)    ←--- 打印出“-128”

时,就会出现整数回绕(wrap around)现象。

例如,8位无符号整数uint8类型的取值范围为0~255,而针对该类型的增量操作在结果超过255时将回绕至0。

var red uint8 = 255
red++
fmt.Println(red)   ←--- 打印出“0”
 
var number int8 = 127
number++
fmt.Println(number)    ←--- 打印出“-128”
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/969966.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号