GO学习笔记02

一、数据类型

go语言数据类型.png

1.常用

 bool、int、float32、float64、string

 float64 比 float32 更准确

2.字符

ascii.jpg

var ch byte
ch = 97
fmt.Printf("%c, %d\n", ch, ch)
        
a, 97

3.字符串

str := "hello"
fmt.Println("len(str)= ", len(str))     //内建函数.len
    
len(str)=  5

//字符串和字符
str := "hello"
fmt.Println("len(str)= ", len(str))
fmt.Printf("str[0] = %c ,str[1] = %c", str[0], str[1])      //可以直接取出字符串的字符
        
str[0] = h ,str[1] = e

4.复数

var t complex128
t = 2.1 + 3.2i
fmt.Println("t = ", t)
    
t1 := 2.2 + 2.87i
fmt.Printf("t1 type is %T\n", t1)
//通过内建函数去得实部和虚部
fmt.Println("real(t1) = ", real(t1), ",imag(t1) = ", imag(t1))
        
        
t =  (2.1+3.2i)
t1 type is complex128
real(t1) =  2.2 ,imag(t1) =  2.87

5.格式化输出

package main
    
import "fmt"
    
func main() {
    a := 10
    b := "abc"
    c := 'a'
    d := 3.14
    fmt.Printf("%T,%T,%T,%T\n", a, b, c, d)
    
    //常用的 %d %s %c %f
    fmt.Printf("a= %d, b = %s, c = %c, d = %f\n", a, b, c, d)
    //%v万能匹配格式,对字符操作不友好
    fmt.Printf("a= %v, b = %v, c = %v, d = %v\n", a, b, c, d)
}
    
    
int,string,int32,float64
a= 10, b = abc, c = a, d = 3.140000
a= 10, b = abc, c = 97, d = 3.14

6.输入函数

var m int
fmt.Printf("请输入变量m:")
//fmt.Scanf("%d", &m)
fmt.Scan(&m)    //也可以
fmt.Printf("m = %d\n", m)
    
请输入变量m:666
m = 666

7.类型转换

package main
    
import "fmt"
    
func main() {
    var flag bool
    flag = true
    fmt.Printf("flag = %t\n", flag)
    // bool类型不能转换为int类型,同样的int也不能转换为bool
    //  这种类型叫不兼容类型
    // fmt.Printf("flag = %d\n", (int)flag)
    
    var ch byte
    ch = 'a'
    var t int
    t = int(ch)     //字符类型本质上就是整型,这种兼容类型可以转换
    fmt.Println("t = ", t)
    
}
    
    
   flag = true
   t =  97

8.类型别名(重要)

package main
    
import (
    "fmt"
 )
    
func main() {
    //bigint 为新定义的别名
    type bigint int64
    var a bigint
    fmt.Printf("a type is %T\n", a)
    
    type (
        long int64
        char byte
    )
    
    var b long = 11999
    var ch char = 'a'
    fmt.Printf("b = %d, ch = %c\n", b, ch)
}
    
    
 a type is main.bigint
 b = 11999, ch = a

9.运算符

/*
    + - * /
    %   取模(取余) 
    ++  后自增,没有前自增
    --  后自减,没有前自减
    注意没有 ++a 或者--a ,只有后置的a++ , a--
    
    ==  !=  <   >   <=  >=
    
    
    逻辑运算符
    !   非
    &&  与
    ||  或
    
    位运算
    &   按位与
    |   按位或
    ^   异或
    <<  左移
    >>  右移
    
    取地址运算符
    &
    取值运算符
    *
*/
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,271评论 0 13
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,554评论 1 51
  • 努力工作很辛苦的时候,有些人会想我要为了家人,为了儿女,为了理想报复,要坚持,奋斗 当然这样会给他带...
    空镜凝人阅读 158评论 0 0
  • 今天设计万年历LCD屏显示的程序,将之前所学习的万年历串口通信和LCD屏幕显示字模的知识和程序进行筛选和拼接就完成...
    刘泽清阅读 113评论 0 0
  • 想要对你说声我爱你 就请月亮悄悄走过大地 然后再请年轻的妈妈们 齐声唱起摇篮曲 伴着这柔柔的声音 我带你飞进梦之谷...
    琴键上跳舞的米老鼠阅读 142评论 0 0