zoukankan      html  css  js  c++  java
  • GO语言的初次学习

     1 package main
     2 import (
     3     "fmt"
     4     "time"
     5 )
     6 
     7 func main()  {
     8     fmt.Println("hello world!")
     9     dur :=time.Duration(10)*time.Second
    10     time.Sleep(dur)
    11 }

    需要注意:go语言语法严谨,括号里面的字符串只能使用双引号 ,

    若是定义却未使用,或者引入未使用的包,则会直接报错

    大括号必须是成对出现的,缺一不可。

    如果希望申明并给变量赋值格式为: num : =123

    想查看字符串的大小,可以使用unsafe包下的Sizeof()函数  ---->unsafe.Sizeof(num)

    数据类型之间的转换:

    基本类型转为string类型调用fmt.Sprintf()方法

    查看数据类型fmt.Printf("%T",num)

    或者调用函数strconv下的类型方法去实现 strconv.FormatInt()……

    指针的使用:如果想查看变量的地址 &num  ,查看指针的值 * num  先找到对应地址,再取地址存放的值

    申明的指针的值必须指向一个地址,不能是地址对应的值

    比如定义一个指针 var par *int=&num 此时 par指向的是num对应的地址  *par=123

    a:=456

    par=&a  则par的地址变为a的地址,则此时par指向a 那么 *par=456

    继续,*par=789,指针对应的值发生改变,*par=789且a=789

    golang里面的值类型都有对应的指针类型,表现形式为 *数据类型

    值类型包括:int、float、string、bool、struct结构体、数组 

    引用类型包括:指针,slice切片,map,管道chan,interface等 

    包里面的变量或者常量如果想被其他包使用,则该变量首字母必须大写,小写则私有,只能在本包使用。

    关于在本包导入外包的坑需要注意:

    pycharm默认的路径是当前文件所在路径。对应配置文件大的GOPATH下的路径,比如启动执行文件main.go

    因此推荐使用相对路径拼接路径来导入包  ---->  " ../uc",较其他语言奇葩的是,go只需要导入要使用的people.go所在的包名即可

    调用时则直接用包名调属性或者函数。uc.Superman就能调用uc包下的属性

    奇葩用法:i++、i-- 不能直接复制给变量或者比较,必须单独执行完成后用i去处理,没有++i、--i这种操作

    部分案例代码:

    package main
    
    import (
        "fmt"
        _"../uc"  //引入外包   不用时前面加_ 使其忽略
    )
    var(    //申明变量
        hc float32
        sc float32
    )
    
    func main()  {
    
        fmt.Printf("请输入华氏温度:")
        fmt.Scanln(&hc)                  //键盘输入值
        sc= 5.0 / 9 * (hc - 32)
        fmt.Printf("华氏温度%v是%v摄氏度",hc,sc)    //实值输出%v
    }

     实现类似于input的键盘输入数据:可以用fmt包下的两个函数 Scanln、Scanf 效果如下:

    package main
    
    import "fmt"
    
    
    func main() {
        
        var name string
        var age int
        var money float32
        //fmt.Println("请输入姓名:")
        //fmt.Scanln(&name)
        //fmt.Println("请输入年龄:")
        //fmt.Scanln(&age)
        //fmt.Println("请输入工资:")
        //fmt.Scanln(&money)
        //fmt.Printf("%v有%v岁月薪%v",name,age,money)
    
        fmt.Println("请输入姓名,年龄,工资,中间以空格隔开")
        fmt.Scanf("%s %d %f",&name,&age,&money)
        fmt.Printf("%v有%v岁月薪%v",name,age,money)
        
    }
  • 相关阅读:
    实战演习用wse上传下载文件
    [Android疑难杂症]Gallery默认和横竖屏切换选中状态问题(2.3、2.3系统存在)
    [Android疑难杂症]动态改变Background后Padding无效的问题
    Android应用开发提高系列(6)——Activity生命周期
    使用Vitamio打造自己的Android万能播放器(2)—— 手势控制亮度、音量、缩放
    使用Vitamio打造自己的Android万能播放器(8)——细节优化
    Vitamio SDK 2.0 新版发布(20120831)
    [Android]利用runas命令在不root情况下读取data下面的数据
    使用Vitamio打造自己的Android万能播放器(3)——本地播放(主界面、播放列表)
    SKY IMA800S 驱动下载
  • 原文地址:https://www.cnblogs.com/wen-kang/p/9682544.html
Copyright © 2011-2022 走看看