golong程序中函数类型笔记

当函数为数值时,会进行相加

当函数为字符串时,会进行拼接 

int 8                -128-127       负二的七次方到正二的七次方减一

因为符号占一个空格 所以不是八次方而是七次方 因为均分有正0和负零导致

0算正0 负0算一,导致正数比负数少一位,那一位就是0

无符号数值类型  uint

uint8   无符号等于全正数 2的八次方减一

减去的那个1就是0

如何输出函数的数据类型

fmt.Printf(“xxx的数据类型是 %T”m,xxx)

注:为啥要多出来个%T呢,类似于转换输出 不添加%T会出现不一样的东西

 如何输出函数数据类型 和 所占字节

package main
// import "fmt"
import(
	"fmt"
	"unsafe"
)

func main(){
	// var i int8  = 127.
	// var j int8  = -128
	// var k uint8 = 225
	// fmt.Println(i,j,k)
	// var n1 int = 1222
	// var n2 = "网"
	// fmt.Printf("n1的数据类型 ",n1)
	// fmt.Printf("n2的数据类型 %T \n",n2)
	var n3 int64 =200
	fmt.Printf("n3的数据类型 %T和所占字节是 %d ",n3,unsafe.Sizeof(n3)) 
}

案例 n3 就是输出n3的数据类型

函数的数据类型一般采取保小不保大

就是说你根据项目的需求来操作,不能一个人的年龄是最大一百多岁,你放个int64

最好年龄用 byte数据类型 刚好是0-255,人的年龄目前是不会达到255岁

浮点数

float64和float32

非需求建议默认gloat64

浮点数就是小数点漂浮不定

如:

    num5 := 5.12e0
	num6 := .512e1
	num7 := .0512e2
	fmt.Println("\nnum5=",num5,"num6=",num6,"num7=",num7)

num5,num6,num7都是一样的他可根据后面的e*改变

十进制案例

    num2 :=.123
	num3 := 5.12
	fmt.Printf("num2=",num2,"num3= ",num3)

如num2 = .123前面可以没有 0但是不能没有“.”

科学计数法如

num4 :=5.123e5//2.123成语==乘于10的5次方  注 :e不区分大小写
	num5 := 5123e-5//e-5意思是除以10的5次方
	fmt.Println("num4=" , num4 , "num5=",num5)

e就好比*10*

前面的数乘10在乘后面的数字

就像代码段里的5.123e5等于5.123乘于10的五次方

第二段num5里面的e-5相对于第一段中间多了个-意思就是除,和第一段意思相反

向下复制快捷键shift+alt+下箭头

字符串-字符 

go语言中 字符通常用 byte表示 

字符需要通过转译如

var c1 byte = '0'
	 var c2 byte = 'a'
	 var c3 byte = '啊'
	 fmt.Println("c1=%c",c1)
	 fmt.Println("c2=%c",c2)
	 fmt.Println("c3=%c",c3 )

不通过%c进行转译的话输出的不是字符  而是十进制的数值

如果输出的字符在ask码表内,可直接通过byte输出

如果在字符对应的码值大于255建议使用 int类型保存 

byte范围内如果需要以字符方式输出,需要使用上图的3,4,5,行的(%c)输出

布尔类型

判断真假

布尔类型也叫bool类型 bool类型只允许取值 true和 false

布尔类型只占一个字节

通常用在if判断或者for循环

//布尔类型的使用
	 var b = false
	 //布尔类型只占一个字节
	 fmt.Println("b所占字节是=", unsafe.Sizeof(b))

	 //布尔类型只能取true 或者false

string字符串的注意事项

var str1 string = "北京时间 :12:00"
	fmt.Println("现在时间是",str1)

字符串操作细节

输出字符串时会经常用到一些字符,有些字符输出就会很麻烦

··可以完美解决“就是键盘esc”下面的按钮

var str1 string = "北京时间 :12:00"
	var str2 = `
	a
	a
	a
	a
	a
	 `
	fmt.Println("现在时间是",str1)
	fmt.Println(str2)

输出

像代码段里面的回车什么其他符号都能输出

字符串的拼接

//字符串的拼接
	str3 := "123"
	str3 += "456"
	fmt.Println(str3)

 这样输出的值就是 123456 拼接过的字符串

当字符串拼接过长怎么办

上图时错误的例子

下面才是正确的

基本数据类型默认值

数据类型默认值
整数       0
浮点0
字符串
布尔false

//函数基本数据类型的默认值
	var a int
	var b float32
	var c float64
	var d bool
	fmt.Println("数值类型",a,"浮点数32位和64位",b,c,"布尔类型",d)

 基本数据类型的转换

//基本数据类型的转换
	var n1 int = 100
	var n2 float32 = float32(n1)
	var n3 int8 = int8(n1)
	fmt.Printf("n1=%v n2= %v n3 =%v",n1,n2,n3)
	//%v的表示就像数值一样n1=[0],n2=[1]n3=[2],n1,n2,n3

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值