zoukankan      html  css  js  c++  java
  • Go语言学习(三)变量、基本类型

    上一节开篇提到了IntelliJ,下午试了试,却是很好用。只是快捷键跟Eclipse的完全不同,很是不习惯,不过有办法的,嘿嘿~~

    下载地址:http://go-ide.com/

    下载之后直接解压就行了,不过需要jdk支持。

    对于习惯Eclipse快捷键的朋友,可以将快捷键设置成Eclipse风格,设置方法如下图:

    OK,下面来看看Go语言中变量的声明和赋值。

    /**
     * Created by IntelliJ IDEA.
     * User: Administrator
     * Date: 13-3-17
     * Time: 下午6:22
     */
    package main
    
    import "fmt"
    
    func main() {
        //定义变量方式
        var a int = 1
        fmt.Println(a)
    
        b := 2 //:= 这种写法只能在函数内部使用
        fmt.Println(b)
    
        c, d := 3, 4 //Cool,right?
        fmt.Println(c)
        fmt.Println(d)
    
        str1 := "this is string1"
        fmt.Println(str1)
    
        var str2 string = "this is string2"
        fmt.Println(str2)
    
        var e bool = true
        fmt.Println(e)
    
        // 声明却未赋值的变量,会编译出错
        // var test string   //compile error:test decleared and not used
    
    }

    需要注意的是:

    b := 2  

    :=  这种写法只能在函数内部使用

    如果变量声明之后,没有赋值,Golang会给它赋默认值,例如:

    package main
    
    import "fmt"
    
    func main() {
        var a int //默认值初始化 0
        var str string //默认值为空字符串
        var boo bool //默认值为false
    
    
        fmt.Println(a)
        fmt.Println(str)
        fmt.Println(boo)
    }

    Golang基本类型

    • bool (true, false )
    • 数字内型 (有符号/无符号,有长度/无长度)
    • string (内建"UTF-8 string" )
    • array ([n]<type> )
    • slice (array[i:j])
    • map (map[<from_type>]<to_type> )
    • chan
    • error

    数字类型

    • 无长度
      • int, uint
    • 有长度
      • int8, int16, int32, int64
      • byte/uint8, uint16, uint32, uint64
      • float32, float64

    string类型

    string类型是非常常见的,在Go中,它是UTF-8编码的、由双引号(”)包裹的字符序列。

    一旦给变量赋值,字符串就不能修改了:在Go中字符串是不可变的。从C来的用户,下面的情况在Go中是非法的。

    var s string = "hello"
    s[0] = 'c'   //修改第一个字符为'c',这会报错

    这节就先到这里,后面的几种类型以后再学习~~

  • 相关阅读:
    linux 内核升级
    maven 热部署至tomcat
    Executor多线程框架使用
    数据库中的一些连接
    Ajax传统操作
    第三篇、简单的图片下载器
    第二篇、通过蓝牙连接外设
    第一篇、实现上拉和下拉刷新
    解决Git报错:The current branch is not configured for pull No value for key branch.master.merge found in configuration
    Spark核心概念
  • 原文地址:https://www.cnblogs.com/yejg1212/p/2965063.html
Copyright © 2011-2022 走看看