Go语言基础_数据类型、基本语法篇

Go语言基础


Go的数据类型

基本数据类型

  • 布尔型bool
  • 字符型string
  • 整型int int8 int16 int32 int64
  • unit unit8 unit16 uint32 unit64 uintptr
  • 字节型byte
  • rune
  • float32 float64
  • complex64 complex128

与其他语言的差异

  • Go不支持隐式类型转换
  • 别名和原有类型也不能进行隐式类型转换

示例

错误の示例1

错误の示例2

在这里插入图片描述

类型的预定义值

在math包下,有int、float、unit,直接使用即可

在这里插入图片描述


指针类型

支持使用指针直接访问内存空间

与其他语言的差异
  • 不支持指针运算
  • string是值类型,默认的初始化值是空字符串,不是nil
示例
使用示例
func main() {
   
	a:=1
	aPtr:=&a
	fmt.Println(a,aPtr)
	//%T获取变量类型
	fmt.Printf("%T %T",a,aPtr )
}
######################################
1 0xc000128058
int *int
Process finished with the exit code 0
差异の示例1

在这里插入图片描述

差异の示例2
func main() {
   
	var s string
	fmt.Println("*"+s+"*")
	fmt.Println(len(s))
}
######################################
**
0


数组和切片


Map

与其他语言的差异
  • 获取不存在的key不会报空指针(参考java),会根据value的类型返回默认值,比如int是0,string是 nil。此时不能简单的通过nil判断key是否存在,但是可以主动判断key是否存在
  • map的value可以是一个方法
  • 与go的dock type接口方式一起,可以实现单一方法对象的工厂模式
示例
map的声明
	//map[key type]value type
	map1:=map[string]int{
   "one":1,"two":2}
	map2:=map[string]int{
   }
	map1[
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值