zoukankan      html  css  js  c++  java
  • go初识

    for循环

    for i := 1; i < 5; i++ {
        fmt.Println(i*i)
    }
    ls := "agd"
    for _, arg :=  range ls{
        fmt.Println(string(arg))
    }

    格式化输出

    %d int 变量
    %x, %o, %b 分别为 16 进制,8 进制,2 进制形式的 int
    %f, %g, %e 浮点数: 3.141593 3.141592653589793 3.141593e+00
    %t 布尔变量:truefalse
    %c rune (Unicode 码点),Go 语言里特有的 Unicode 字符类型
    %s    string
    %q 带双引号的字符串 "abc" 或 带单引号的 rune 'c'
    %v 会将任意变量以易读的形式打印出来
    %T 打印变量的类型
    %% 字符型百分比标志(%符号本身,没有其他操作)

    运算符优先级

    有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

    优先级运算符
    7 ^ !
    6 * / % << >> & &^
    5 + - | ^
    4 == != < <= >= >
    3 <-
    2 &&
    1 ||

    指针引用

    func main() {
        var a int = 10
        var b *int
        b = &a
        fmt.Println(b, *b)
    }
    package main
    
    import (
        "fmt"
    )
    
    type Books struct {
        title   string
        author  string
        subject string
        book_id int
    }
    
    func main() {
        // 创建一个新的结构体
        fmt.Println(Books{"go语言", "zhou", "go教程", 01})
        // 也可以使用 key=>value 格式
        fmt.Println(Books{title: "go11", author: "zhou11", subject: "gojiaocheng", book_id: 02})
        // 忽略的字段为 0 或 空
        fmt.Println(Books{title:"go22", author:"zhou22"})
    }
    
    //{go语言 zhou go教程 1}
    //{go11 zhou11 gojiaocheng 2}
    //{go22 zhou22  0}

    ==

    package main
    
    import "fmt"
    
    type Books struct {
        title   string
        author  string
        subject string
        book_id int
    }
    
    func main() {
        var Book1 Books  // 声明Book1 为 Books 类型
        // Book1 的描述
        Book1.title = "go"
        Book1.author = "zhou"
        Book1.subject = "go教程"
        Book1.book_id = 01
        fmt.Println(Book1.title, Book1.author, Book1.subject, Book1.book_id)
    }
    
    // go zhou go教程 1

    结构体作为函数参数

    你可以像其他数据类型一样将结构体类型作为参数传递给函数。并以以上实例的方式访问结构体变量:

    package main
    
    import "fmt"
    
    type Books struct {
        title   string
        author  string
        subject string
        book_id int
    }
    
    func main() {
        var Book1 Books  // 声明book1 为 Books 类型
        // book1 的描述
        Book1.title = "go"
        Book1.author = "zhou"
        Book1.subject = "go教程"
        Book1.book_id = 01
        printBook(Book1)
    }
    
    func printBook(book Books)  {
        fmt.Println(book.title)
        fmt.Println(book.author)
        fmt.Println(book.subject)
        fmt.Println(book.book_id)
    }

    结构体指针

    你可以定义指向结构体的指针类似于其他指针变量,格式如下:

    package main
    
    import "fmt"
    
    type Books struct {
        title   string
        author  string
        subject string
        book_id int
    }
    
    func main() {
        var Book1 Books  // 声明book1 为 Books 类型
        // book1 的描述
        Book1.title = "go"
        Book1.author = "zhou"
        Book1.subject = "go教程"
        Book1.book_id = 01
        printBook(&Book1)
    }
    
    func printBook(book *Books)  {
        fmt.Println(book.title)
        fmt.Println(book.author)
        fmt.Println(book.subject)
        fmt.Println(book.book_id)
    }

    两个主要区别: 形参和实参

    形参是指针类型,实参需要传变量地址

  • 相关阅读:
    JSTL fn:split()函数
    JSTL判断list是否为空
    oracle 合并列的函数wm_concat
    Eclipse软件使用说明
    Caused by: org.hibernate.HibernateException: identifier of an instance of ... is alterde from
    SpringData JPA详解
    关于JPA方法名创建自动查询
    jquery移除、绑定、触发元素事件使用示例详解
    js String对象中常用方法小结(字符串操作)
    java中list的使用方法
  • 原文地址:https://www.cnblogs.com/zhzhlong/p/9344765.html
Copyright © 2011-2022 走看看