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)

  

 
    
 
 
原文地址:https://www.cnblogs.com/ecake/p/8716454.html