zoukankan      html  css  js  c++  java
  • 代码添加注释信息

    golang代码添加注释信息

    mac 中的sed和Linux中的sed使用方式略有区别,可下载 gsed,gsed和Linux中的sed使用方式一致
    brew install gsed

    #!/bin/sh
    
    main(){
      file=$1
    
      if [[ $file == "" ]]
      then
         echo "please input filename"
         exit 1
      fi
      # 是文件夹则进入文件夹
      if [ -d $file ]
      then
        # 进入目录,否则需要拼接文件地址
        cd  $file
        # 遍历当前目录下所有文件
        for i in `ls ./`
        do
          if [ -r $i ]
          then
            echo "file $i"
            single_type $i
          fi
        done
      else
        single_type $file
      fi
    }
    
    # 给go中的结构体添加注释
    single_type(){
    
      file=$1
    
      types=`grep -n  struct $file | grep type`
    
      old_ifs=$IFS
      IFS=$'
    '
    
      num=1
      for i in $types
      do
        line_num=`echo $i | awk -F ':' '{print $1}'`
        echo " line_num  $line_num"
        type_name=`echo $i | awk '{print $2}'`
        echo " type_name $type_name"
        insert_line=`expr $line_num + $num`
        insert_line=`expr $insert_line - 1`
        echo " insert_line  $insert_line"
        comment="// $type_name $type_name"
        echo $comment
    
        gsed -i "${insert_line}i${comment}" $file
        num=`expr $num + 1`
      done
    
      IFS=$old_ifs
    }
    
    # 给go中的函数添加注释
    single_func(){
    
      file=$1
    
      types=`grep -n  func $file`
    
      old_ifs=$IFS
      IFS=$'
    '
    
      num=1
      for i in $types
      do
        if [[ $i == "./:" ]]
        then
          continue
        fi
        echo "content $i"
    
        line_num=`echo $i | awk -F ':' '{print $1}'`
        echo " line_num  $line_num"
    
        func_name=`echo $i | awk '{print $2}' | awk -F '(' '{print $1}'`
        echo " func_name $func_name"
    
        insert_line=`expr $line_num + $num`
        insert_line=`expr $insert_line - 1`
        echo " insert_line  $insert_line"
    
        comment="// $func_name $func_name"
        echo $comment
    
        gsed -i "${insert_line}i${comment}" $file
        num=`expr $num + 1`
      done
    
      IFS=$old_ifs
    }
    
    main $1
    
  • 相关阅读:
    cpu_relax
    x86汇编寄存器,函数参数入栈说明
    内核调试打印dump_stack
    内核模块中计算执行时间
    js
    JS解析+预解析相关总结
    github-如何设置SSH Key
    块级元素与行内元素的区别
    编写高质量代码——html、css、javascript
    jquery——简单的下拉列表制作及bind()方法的示例
  • 原文地址:https://www.cnblogs.com/virgosnail/p/14192028.html
Copyright © 2011-2022 走看看