golang变量
来源:互联网 发布:电脑网络电视直播软件 编辑:程序博客网 时间:2024/05/29 11:58
GO语言变量
- 变量声明
//指定变量类型,声明后若不赋值,使用默认值var var_name typevar_name = value// 根据值自行判定变量类型var var_name = value// 省略var, :=左边的变量不应该是已经声明过的,否则将会编译报错var_name := value // 只能被用在函数体内例:var a int = 10var b = 10c := 10
- 多变量声明
// 类型相同多个变量,非全局变量var v_name1, v_name2, v_name3 typev_name1, v_name2, v_name3 = v1,v2,v3// 和Python很像,不需要显示声明类型,自动推断var v_name1, v_name2, v_name3 = v1, v2, v3// 出现在:=左侧的变量不应该是已经被声明过的,否则会编译报错 这种不带声明格式的只能在函数体中出现v_name1, v_name2, v_name3 := v1, v2, v3//这种因式分解关键字的写法一般用于声明全局变量var( v_name1 type v_name2 type)
- 值类型和引用类型
- 所有像 int、float、bool 和 string 这些基本类型都属于值类型,使用这些类型的变量直接指向存在内存中的值
- 当使用等号 = 将一个变量的值赋值给另一个变量时,如:j = i,实际上是在内存中将 i 的值进行了拷贝。你可以通过 &i 来获取变量 i 的内存地址
变量
- 大写字母开头的变量是可导出的,是公用变量
- 小写字母开头的是不可导出的,是私有变量
- 大写字母开头的函数也是一样,相当于class里面带public关键词的公有函数
- 小写字母开头的函数就相当于class里面带private关键词的私有函数
- 全局变量(变量组只能在全局环境下使用)
var (
name = "gopher",
name1 = 1,
name2 = "2"
)
- 一般类型声明
type (
newType int
type1 float32
type2 string
type3 byte
)
- 自定义类型
type(
byte int8
name int32
文本 string
)
- 变量的类型转换
- Go中不存在隐式转换,所有类型转换必须显式声明
- 转换只能发生在两种相互兼容的类型之间
- 类型转换的格式:
var a float32 = 1.1 -> b := int(a)
,var a int = 65 -> string(a) -> A
- 数字类型转换成字符串 ->
import strconv -> b:=strconv.Itoa(a) -> a=strconv.Atoi(b)
- string(byte) -> 转换成字符串
- Print用双引号,反引号相当于Python里面的“`。单引号->rune类型
阅读全文
0 0
- golang变量
- golang 变量生成周期
- golang声明变量
- golang 变量声明
- golang变量作用域问题
- 学习Golang语言(2): 变量
- 跟着猫哥学Golang[2] - 变量
- golang 简短变量声明注意事项
- golang 利用指针导出变量
- Golang教程:(三)变量
- Golang初级系列教程-内存变量指针
- Golang的变量常量及基本类型
- golang 相同构造体变量 数据合并
- golang如何得到一个变量的类型
- Golang学习笔记 数据类型和变量
- Golang 中关于变量内存分配部分
- Golang
- golang
- 《TCP IP网络编程》尹圣雨----3.第二章源码展示
- GenericMethod java泛型
- JavaSE学习----数据类型
- 对于字符串库中,判断给定的字符串,在库中是多少个String的子串。
- Scrapy框架抓取豆瓣电影的小爬虫学习日记(一)
- golang变量
- 扩充你的工具箱
- Java中的StringUtils类
- Spring的HelloWorld
- PCNTL在centos中安装以及多进程更新数据
- Android动态加载热更新修复功能 加载多个dex
- NotePad++使用技巧之宏的使用
- explicit 隐式转换与显示转换
- 从Excle导入到Oracle数据库方法总结