go语言学习笔记(三)

值类型

  1. bool
  2. int(32 or 64), int8, int16, int32, int64
  3. uint(32 or 64), uint8(byte), uint16, uint32,uint64
  4. float32, float64
  5. string
  6. complex64, complex128
  7. array – 固定长度的数组

引用类型

  1. slice(切片)
  2. map
  3. chan

字符串

len()获取字符串长度
声明
var str string
str = “hello world”
str := “你好”
遍历

lengthStr := len(string2)
	fmt.Println(lengthStr)
	var stringVariables3 = "hello luboke,我齐恒三"
	stringVariables3Len := len(stringVariables3)
	fmt.Println(stringVariables3Len)


	/*遍历*/
	for index := 0; index < stringVariables3Len;index++ {
		fmt.Printf("%c,%d\n",stringVariables3[index],stringVariables3[index])
	}

	for index,value := range string2 {
		fmt.Printf("%c,%d\n",value,index)
	}

复数


		var x complex128 = complex(1, 2) //1+2i
		var y complex128 = complex(3, 4) //3+4i
		fmt.Println(x * y) //(-5+10i)
		fmt.Println(real(x * y)) //-5
		fmt.Println(imag(x * y))

类型转换

Parse 系列函数
Parse 系列函数用于将字符串转换为指定类型的值,其中包括 ParseBool()、ParseFloat()、ParseInt()、ParseUint()
Format 系列函数
Format 系列函数实现了将给定类型数据格式化为字符串类型的功能,其中包括 FormatBool()、FormatInt()、FormatUint()、FormatFloat()。

指针

程序在内存中存储它的值,每个内存块都 有一个地址,而存储这个地址的变量被称为指针变量,指针。
取地址操作符&,一般在指针操作当中经常使用,&取出地址
取值操作符*,一般在指针操作当中,*根据地址找该地址指向空间的值。

注意事项

  1. 值类型一般都有对应的指针类型,格式 数据的类型 比如int->int float64->*float64
  2. 0x开头的十六进制的一组数据
  3. go语言中引用类型有哪些?指针,slice,map,chan,interface
  4. 值类型:变量存储的值是值类型,通常在栈中分配
  5. 引用类型:变量存储的是地址,这个地址对应的空间存储的才是实际的值,一般引用类型在堆中分配,一旦无任何变量来引用这块空间,那么会被操作系统进行垃圾回收。
  6. go语言的指针没有指针运算,因为指针的乱引用会导致的内存泄漏,以及引发一连串程序的崩溃
  7. 修改指针指向变量的值,但是不会修改地址,通过指针改掉了指向变量对应的值
  8. 一个指针变量可以指向任何一个值的内存地址
  9. 指针也可以指向另一个指针,并且可以进行任意深度的嵌套,导致你可以有多级的间接引用,但在大多数情况这会使你的代码结构不清晰
    10 .当一个指针被定义后没有分配到任何变量时,它的值为 nil。对一个空指针的反向引用是不合法的,并且会使程序崩溃
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值