• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Golang > Golang学习笔记(二):类型、变量、常量

Golang学习笔记(二):类型、变量、常量

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了Golang学习笔记(二):类型、变量、常量等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

基本类型

1.基本类型列表
类型        长度     说明
bool         1      true/false,默认false, 不能把非0值当做true(不用数字代表true/false)
byte         1      uint8 别名
rune         4      int32别名。 代表一个unicode code point
int/unit            一来所运行的平台,32bit/64bit
int8/uint8   1     -128 ~ 127; 0 ~ 255
int16/uint16 2     -32768 ~ 32767; 0 ~ 65535
int32/uint32 4     -21亿 ~ 21亿, 0 ~ 42亿
int64/uint64 8

float32      4     精确到7位小数,相当于c的float
float64      8     精确到15位小数,相当于c的double

complex64    8
complex128   16

uintptr            足够保存指针的32位、64位整数,指针(可以存指针的整数型)
array              值类型,数组
struct             值类型,结构体
string             值类型,字符串类型,常用
slice              引用类型,切片
map                引用类型,字典
channel            引用类型,通道
interface          接口类型,接口
function           函数类型,函数
</div>

2.类型转换

不支持隐式类型转换,必须进行显式类型转换

转换只发生在两种互相兼容的类型之间: 各类int不允许相互赋值或操作,不然会在编译时报错
<type>(expression)
</div>
示例
package main
import "fmt"

func main(){
    a := 0x1234
    b := 1234.56
    c := 256

    fmt.Printf("%x\n", uint8(a))
    fmt.Printf("%d\n", int(b))
    fmt.Printf("%f\n", float64(c))
}
</div>
结果
34
1234
256.000000
</div>

3.类型别名
type t_str string
var b t_str = "a str"
</div>
4.类型默认值

声明不赋值,类型零值,非空值,而是声明后的默认值
bool: false
integers: 0
floats: 0.0
string: ""
pointers,functions,interfaces,slices,channels,maps: nil
</div>

保留字
break      case   chan     const        continue
default    defer  else     fallthrough  for
func       go     goto     if           import
interface  map    package  range        return
select     struct switch   type         var
</div>

变量

1.变量声明
//第一种,指定变量类型,声明后若不赋值,使用默认值
var v_name v_type
v_name = value

//第二种,根据值自行判定变量类型
var v_name = value

//第三种,省略var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误.
v_name := value

e.g.
var a int = 10
var b = 10
c : = 10
</div>

示例:
package main
var a = 1234
var b string = "hello"
var c bool

func main(){
    println(a, b, c)
}
</div>

结果:
1234 hello false
</div>

2.多变量声明:
//类型相同多个变量, 非全局变量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3

var vname1, vname2, vname3 = v1, v2, v3 //和python很像,不需要显示声明类型,自动推断

vname1, vname2, vname3 := v1, v2, v3 //出现在:=左侧的变量不应该是已经被声明过的,否则会导致编译错误


//类型不同多个变量, 全局变量, 局部变量不能使用这种方式
var (
    vname1 v_type1
    vname2 v_type2
)
</div>
示例:
package main

var x, y int
var (  //这种只能出现在全局变量中,函数体内不支持
    a int
    b bool
)

var c, d int = 1, 2
var e, f

您可能想查找下面的文章:

相关文章

  • Go语言中常量定义方法实例分析
  • Go语言中数组的基本用法演示
  • 利用Golang如何调用Linux命令详解
  • Go语言执行系统命令行命令的方法
  • Go语言单链表实现方法
  • GO语言实现简单TCP服务的方法
  • Go语言命令行操作命令详细介绍
  • go语言使用RC4加密的方法
  • golang 函数以及函数和方法的详解及区别
  • Golang使用zlib压缩和解压缩字符串

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • golang简单获取上传文件大小的实现代码
    • GO语言(golang)基础知识
    • GO语言实现的端口扫描器分享
    • golang两种调用rpc的方法
    • Go语言模拟while语句实现无限循环的方法
    • GO语言标准错误处理机制error用法实例
    • Go语言计算指定年月天数的方法
    • Go语言map字典用法实例分析
    • golang实现简单的udp协议服务端与客户端示例
    • GO语言的IO方法实例小结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有