golang学习(二)—— 变量
包的导入:
import (
"fmt"
)
(variable)变量
1,定义赋值:
var num1 int
num1 = 10
var num2 int = 20
//多个相同类型的变量一起定义和赋值
var str1, str2, str3 string = "aaa", "bbb", "ccc"
//使用“:="来定义并初始化变量
//注意:”:=“只能在函数内部使用,定义全局变量应该使用var关键字
num3 := 30
num4, str4 := 40, "ddd"
fmt.Println(num1, num2, num3, num4) //out put:10 20 30 40
fmt.Println(str1, str2, str3, str4) //out put:aaa bbb ccc ddd
注:golang的编译规则:不允许局部变量定义而不使用,对于引用的包也是如此,如果引用了一个包却没有使用,则编译会报错
2,空白变量(blank variable):"_"
//可以理解为占位符,适用于可忽略变量
//例如 strconv.Atoi(string str)函数,
//该函数返回的是(int,error)两个参数,这里如果忽略error参数的话,可以使用”_“
num, _ := strconv.Atoi("111")
fmt.Println(num) //out put :111
3,常量:
const Name="ecake"
4,布尔类型:golang 不允许布尔类型转换为数字
5,rune(字符)是int32的别称,byte(字节)是uint8别称
6,golang是一种强类型语言:如下例子,则会编译报错
var a int8 = 1
var b int32 = 2
c := a + b
7,枚举(iota enumerate)
const (
x = iota //0
y = iota //1
z = iota //2
w //3
a = 111 //111
b = iota //5
)
const(e,f,g=iota,iota,iota) //e=0,f=0,g=0
8,golang不存在公共或私有关键字
任何以大写字母开头的变量都意味着它将被导出,否则为私有变量,此规则也适用于函数和常量
9,string(字符串)
表示:由 双引号 "" 或者 后退号 `` 表示:前者适用于单行文本,后者适用于多行文本
值修改:字符串对象不允许对值进行修改
例如:以下例子编译出错
var s string="ecake." s[0]='a'
截取字符串中的内容:
s := "hello,go."
//按位取字符
//s[0]是一个rune类型,也就是int32类型,要用string()函数来打印出字符
c := string(s[0]) //h
//取字符串指定范围的内容
s1 := s[6:] //go.
s2 := s[3:9] //lo,go.
fmt.Println(c, s1, s2)

浙公网安备 33010602011771号