包的导入:
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)