go语言基本语法(二)

本文介绍了Go语言的基本数据类型,如bool、数字、字符串、数组、切片、映射、结构体和接口,并展示了如何定义变量和使用运算符。还讨论了类型转换,包括整型、浮点型、字符串间的转换,并提醒注意转换时的错误处理。
摘要由CSDN通过智能技术生成

go语言基本语法(二)

Go语言的基本数据类型

bool类型:用于表示布尔值,取值为true或false。

数字类型: int8, int16, int32, int64:分别表示8位、16位、32位、64位有符号整数类型。

​ uint8, uint16, uint32, uint64:分别表示8位、16位、32位、64位无符号整数类型。

​ float32, float64:分别表示32位、64位浮点数类型。

​ complex64, complex128:分别表示64位、128位复数类型。

字符串类型:用于表示字符串,由双引号或反引号括起来。

数组类型:用于表示固定长度的同类型元素的序列。

切片类型:用于表示可变长度的同类型元素的序列。

映射类型:用于表示一组键值对的集合。

结构体类型:用于表示一组具有不同类型的字段的集合。

接口类型:用于表示一组方法签名的集合。使用这些基本数据类型可以定义变量、常量和函数参数,进行算术运算、逻辑运算和位运算等操作。例如:

var a int = 10
var b float64 = 3.14
var c string = "hello"
var d [3]int = [3]int{1, 2, 3}
var e []int = []int{4, 5, 6}
var f map[string]int = map[string]int{"a": 1, "b": 2}
var g struct{ name string; age int } = struct{ name string; age int }{"Tom", 20}
func add(x, y int) int {    
return x + y
}
fmt.Println(add(a, int(b))) // 输出:13
fmt.Println(c + " world")  // 输出:hello world
fmt.Println(d[0] + e[1])   // 输出:7
fmt.Println(f["a"] + f["b"]) // 输出:3
fmt.Println(g.name) // 输出:Tom

类型转换

在 Go 语言中,基本数据类型之间的转换可以使用强制类型转换(Type Conversion)来实现。以下是一些基本数据类型之间的转换示例:

  1. 将整型转换为浮点型

    var i int = 42
    var f float64 = float64(i)
    
  2. 将浮点型转换为整型

    var f float64 = 3.14
    var i int = int(f) 
    
  3. 将整型转换为字符串

    var i int = 42
    var s string = strconv.Itoa(i)
    
  4. 将字符串转换为整型

    var s string = "42"
    var i int, err = strconv.Atoi(s)
    if err != nil {   
    // 处理错误
    }
    
  5. 将字符串转换为浮点型

    var s string = "3.14"
    var f float64, err = strconv.ParseFloat(s, 64)
    if err != nil {   
    // 处理错误
    }
    

    注意:在进行类型转换时,需要注意数据类型的范围和精度,避免数据丢失或溢出。同时,需要对转换过程中可能出现的错误进行处理。

    运算符

    Go语言中支持的运算符有以下几种:

    1. 算术运算符:用于数值的加、减、乘、除、取余等运算。例如:

       +    // 加法 
       -    // 减法 
       *    // 乘法 
       /    // 除法
       %    // 取余   
      
    2. 关系运算符:用于比较两个值的大小关系,返回一个布尔值。例如:

      ==   // 等于   
      !=   // 不等于  
      <    // 小于   
      >    // 大于  
      <=   // 小于等于   
      >=   // 大于等于   
      
    3. 逻辑运算符:用于逻辑运算,返回一个布尔值。例如:

      &&   // 逻辑与   
      ||   // 逻辑或  
      !    // 逻辑非   
      
    4. 位运算符:用于对二进制位进行操作,包括按位与、按位或、按位异或等。例如:

      &    // 按位与   
      |    // 按位或   
      ^    // 按位异或  
      <<   // 左移   
      >>   // 右移   
    
    1. 赋值运算符:用于将一个值赋给一个变量,包括简单赋值、加减乘除赋值等。例如:

        =    // 简单赋值 
        +=   // 加法赋值  
        -=   // 减法赋值  
        *=   // 乘法赋值  
        /=   // 除法赋值  
        %=   // 取余赋值   
        &=   // 按位与赋值   
        |=   // 按位或赋值  
        ^=   // 按位异或赋值  
        <<=  // 左移赋值   
        >>=  // 右移赋值  
      
    2. 其他运算符:包括取地址运算符、指针运算符、条件运算符等。例如:

         &    // 取地址运算符   
         *    // 指针运算符  
         ? :  // 条件运算符   
      
以下是Go语言基本语法和高级变量类型的介绍: 1. 变量声明和初始化 在Go语言,可以使用var关键字声明变量。变量声明可以包含一个或多个变量,可以在声明时初始化变量,也可以在后续代码初始化变量。例如: ```go var name string var age int = 18 married := false ``` 2. 数据类型 Go语言的数据类型包括基本数据类型和复合数据类型。基本数据类型包括bool、string、int、float等,复合数据类型包括数组、切片、结构体、接口、函数等。例如: ```go // 基本数据类型 var b bool = true var s string = "hello" var i int = 10 var f float32 = 3.14 // 复合数据类型 var arr [3]int = [3]int{1, 2, 3} var slice []int = []int{1, 2, 3} type Person struct { Name string Age int } var p Person = Person{Name: "Tom", Age: 18} ``` 3. 指针类型 Go语言的指针类型用于存储变量的内存地址。可以使用&运算符获取变量的地址,使用*运算符获取指针指向的变量的值。例如: ```go var i int = 10 var p *int = &i fmt.Println(*p) // 输出:10 ``` 4. 结构体类型 Go语言的结构体类型用于定义一组相关的数据字段。可以使用type关键字定义结构体类型,使用.运算符访问结构体字段。例如: ```go type Person struct { Name string Age int } var p Person = Person{Name: "Tom", Age: 18} fmt.Println(p.Name) // 输出:Tom ``` 5. 接口类型 Go语言的接口类型用于定义一组方法签名。可以使用type关键字定义接口类型,使用实现接口的类型来实现接口方法。例如: ```go type Animal interface { Speak() string } type Dog struct {} func (d Dog) Speak() string { return "汪汪" } var a Animal = Dog{} fmt.Println(a.Speak()) // 输出:汪汪 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值